Python数据可视化 -生成数据之绘制折线图和散点图

matplotlib教程https://blog.csdn.net/Notzuonotdied/article/details/77876080

http://study.163.com/course/introduction.htm?courseId=1003240004

matplotlib画廊:https://matplotlib.org/(查看使用matplotlib可制作的各种图表以及生成图表的代码)

绘制简单的折线图

详细说明在代码中

import matplotlib.pyplot as plt
#导入模块pyplot,并给它赋别名plt,以免后续重复输入pyplot,pyplot中包含了许多用于生成图表的函数

#简单绘图
squares=[1, 4 ,9, 16, 25]#创建一个列表,平方数
plt.plot(squares)#再将这个列表传递给函数plot(),这个函数会根据根据这些数字绘出有意义的图
#plt.show()#打开matplotlib查看器,并显示绘制图形

#修改标签文字和线条粗细
plt.plot(squares,linewidth=5)#linewidth决定了plot()绘制图像线条的粗细
plt.title("Square Numbers",fontsize=24)#设置图标标题,fontsize字型大小
plt.xlabel("Value",fontsize=14)#给x轴加标签
plt.ylabel("Square of Value",fontsize=14)#给y轴加标签
plt.tick_params(axis='both',labelsize=14)#设置刻度标记的大小 
#tick_params设置刻度的样式,其中指定的实参将影响x轴y轴的刻度
#plt.show()

#校正图形
#当你向plot提供一系列数据时,他假设第一个数据点对应的x坐标值为0,
#但我们第一个点对应的坐标值为1,为改变这种默认行为,我们可以给plot同时提供输入值和输出值
input_values=[1,2,3,4,5]
squares=[1,4,9,16,25]
plt.plot(input_values,squares,linewidth=5)
plt.show()





使用scatter()绘制散点图

import matplotlib.pyplot as plt

plt.scatter(2,4)
#plt.show()

#下面设置输出样式,添加标题,给轴上加标签,并确保所有文本都大到能看得清
plt.title("Square Numbers",fontsize=24)
plt.xlabel("Value",fontsize=14)
plt.ylabel("Square of Value",fontsize=14)
plt.tick_params(axis='both',which='major',labelsize=14)#设置刻度标记的大小
#plt.show()

#如果要绘制一系列的点,可以向scatter传递两个分别包含xy的值的列表
x_values=[1,2,3,4,5]
y_values=[1,4,9,16,25]
plt.scatter(x_values,y_values,s=100)
plt.show()

自动计算数据

手工计算列表要包含的值可能效率低下,需要绘制的点很多时尤其如此,可以不必手工计算包含点坐标的列表,而让python循环来替我们完成这种计算。

import matplotlib.pyplot as plt
x_value=list(range(1,1001))
y_value=[x**2 for x in x_value]
#首先创建了一个包含x值的列表,其中包含数字1到1000,
#接下来是一个生成y值的列表解析,它遍历了x值,将结果存储到y列表
plt.scatter(x_value,y_value,s=40)
#然后将输入输出列表传递给scatter()
plt.axis([0,1100,0,1100000])
#由于这个数据集较大,我们将点设置的较小,并使用axis()指定了每个坐标轴的范围
plt.show()

删除数据点的轮廓

matplotlib允许你给散点图的各个点指定颜色,默认为黑色电荷蓝色轮廓,在散点图包含的点不多时效果很好,,但绘制很多点时,黑色轮廓可能会粘连在一起,要删除数据点的轮廓,可以在调用scatter时传递实参edgecolor='none'

plt.scatter(x_value,y_value,s=40,edgecolor='none')

自定义颜色

要修改数据点的颜色,可向scatter传递参数c,并将其设置为要使用的颜色的名称

plt.scatter(x_value,y_value,s=40,edgecolor='none',c='red')

你还可以使用RGB颜色模式自定义颜色。要指定自定义颜色,课传递参数c,并将其设置为一个元组,其中包含三个0~1之间的小数值,他们分别表示红色绿色和蓝色分量,例如,下面是一个由淡蓝色点组成的散点图:

plt.scatter(x_value,y_value,s=40,edgecolor='none',c=(0,0,0.8))

值越接近0,指定的颜色越深,值越接近1指定的颜色越浅

使用颜色映射

颜色映射是一系列颜色,他们从起始颜色渐变到结束颜色,在可视化中,颜色映射用于突出数据的规律,

例如,你可能用较浅的颜色来显示较小的值,并用较深的颜色来显示较大的值。

模块pyplot内置了一组颜色映射,要使用这些颜色映射,你需要告诉pyplot该如何设置数据集中每个点的颜色,

下面演示如何根据每个点的y值来设置颜色:

plt.scatter(x_value,y_value,s=40,edgecolor='none',c=y_value,cmap=plt.cm.Blues)

我们将参数c设置成了一个y值列表,并使用参数cmap告诉pyplot使用那个颜色映射,

这些代码将y值较大的点显示为深蓝色,将y值较小的点设置为浅蓝色

注:要了解pyplot中的所有颜色映射,请访问https://matplotlib.org/gallery/color/colormap_reference.html#sphx-glr-gallery-color-colormap-reference-py

自动保存图表

要让程序自动将图表保存到文件中,课将对plt.show()的调用替换为对plt.savefig()的调用:

plt.savefig('tu1.png',bbox_inches='tight')

第一个实参代表以什么样的文件名保存图表,这个文件将存储到scatter_squares.py所在的目录中。第二个实参指定近图表多余的空白部分裁剪掉,如果要保留周围空白区域,课省略这个实参。

猜你喜欢

转载自blog.csdn.net/sdau_hangtt/article/details/81837395