python数据可视化——matplotlib

1、绘制简单折线

#a.py
import matplotlib.pyplot as plt
squares=[1,4,9,16,25]
plt.plot(squares)
plt.show()


#函数plot()尝试根据数字绘制出有意义的图形

#plt.show()打开matplotlib查看器,并显示绘制的图形

2、修改标签文字和线条粗细

1)使用参数linewidth决定plot()绘制的线条粗细。

plt.plot(squares,linewidth=5)

2)使用函数title()给列表指明标题,其中可使用参数fontsize指定图表中文字大小

plt.title("Square numbers",fontsize=24)

3)函数xlabel()和ylabel()为每条坐标轴设置标题

plt.xlabel("value",fontsize=24)
plt.ylabel("Square of Value",fontsize=24)

4)设置刻度的样式:函数tick_params()

plt.tick_params(axis='both',labelsize=14)

其中指定的实参将影响x轴和y轴上的刻度(axis='both'),并将刻度标记的字号设置为14.

3、校正图形

当向plot()提供一系列的数字时,它假设第一个数据点对应的x坐标值为0。可以给plot()同时提供输入值和输出值来改变这种默认行为

input_values=[1,2,3,4,5]
squares=[1,4,9,16,25]
plt.plot(input_values,squares,linewidth=5)

4、使用scatter绘制散点图并设置其样式

1)绘制单个点,使用函数scatter,并向它传递x,y坐标,并可使用参数s指定点的大小

plt.scatter(2,4,s=20)
2)绘制一系列点,向scatter传递两个分别包含x值和y值的列表

x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
plt.scatter(x_values,y_values,s=20)

3)设置坐标轴的取值范围:函数axis()要求提供四个值,x,y坐标轴的最大值和最小值

plt.axis([0,1100,0,1100000])

4)使用参数edgecolor在函数scatter中设置数据点的轮廓

plt.scatter(x_values,y_values,edgecolor='black',s=20)

当参数值为'none'时不使用轮廓

5)向scatter传递参数c,指定要使用的颜色

可使用颜色名称,或者使用RGB颜色模式自定义颜色,元组中包含三个0~1之间的小数值,分别表示红绿蓝颜色分量。

plt.scatter(x_values,y_values,c=(0,0,0.8),edgecolor='none',s=20)为由浅蓝色组成的散点图
6)使用颜色映射
颜色映射是一系列颜色,它们从起始颜色渐变到结束颜色,在可视化中颜色映射用于突出数据的规律。
例如,可用较浅的颜色表示较小的数值,较深的颜色表示较大的数值。
模块pyplot内置了一组颜色映射,要使用颜色映射,需要告诉pyplot如何设置数据集中每个点的颜色。

plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=40)
plt.title("Square numbers",fontsize=24)

我们将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用哪个颜色映射。这些代 
码将y值较小的点显示为浅蓝色,并将y值较大的点显示为深蓝色。
7)自动保存图表:使用函数plt.savefig()

plt.savefig('D:/www/figure.png',bbox_inches='tight')

第一个参数是文件名,第二个参数指定将图表多余的空白区域减掉,如果要保留图表周围多余的空白区域,可省略这个实参。


8)设置绘图窗口尺寸
函数figure用于指定图表的宽度、高度、分辨率和背景色。

形参figsize指定一个元组,向matplotlib指出绘图窗口的尺寸,单位为英寸。
形参dpi向figure传递分辨率,默认为80

plt.figure(dpi=128,figsize=(10,6))

9)实例程序

import matplotlib.pyplot as plt
x_values=list(range(1,1001))
y_values=[x**2 for x in x_values]
plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=40)
plt.title("Square numbers",fontsize=24)
plt.xlabel("value",fontsize=24)
plt.ylabel("Square of Value",fontsize=24)
plt.tick_params(axis='both',labelsize=14)
plt.axis([0,1100,0,1100000])
plt.savefig('D:figure.png',bbox_inches='tight')
plt.show()

猜你喜欢

转载自blog.csdn.net/qq_34706955/article/details/81285573