书上的数据可视化真是乱七八糟,一会matplotlib一会pygal,我已经有点混乱了hhh而且书上写的不咋好,我已经快忘光了,现在趁机复习下。
现在我要做一个简单的折线图,折线图的内容是数字1-5的和他们的平方数相对应的图。
绘制折线图
首先导入模块:
import matplotlib.pyplot as plt
接着要将x轴和y轴上的数字放在两个列表中:
input_value = [1, 2, 3, 4, 5] # x轴
squares = [1, 4, 9, 16, 25] # y轴
现在调用类中的plot方法将图绘制出来,但是先介绍一下参数(资料来源CSDN毕竟我也不会)
可能这就是面向CSDN编程吧
plot()的参数x是可选的,没有填的话就默认是索引,从0开始,在这里用显然会出错,导致0的平方为1,1的平方为4。但是注意当绘制多条曲线时,各条曲线的x值不能省略!!!
**kwargs表示第二组或更多(x,y,format_string)”这句话意味着可以成组按顺序传入多组(x, y)并可以分别设置他们各组数据线型的样式,如下
plt.plot(input_value, squares, linewidth=5) # 绘制线条的粗细
(x,y,format_string)中format_string是用于控制曲线格式的字符串(可选),由颜色字符、风格字符和标记字符组成。
(1)颜色字符
(2)风格字符
(3)标记字符
除了利用上述方式对线条样式进行控制以外,plt.plot( )中还提供了一种更细致明了的参数设定形式,如下:
参数 color 用以控制线条颜色 参数 linestyle 用以控制线条形状 参数 linewidth 用以控制线条宽度(默认值为0.5) 参数 marker 用以控制标记风格
参数 markersize 用以控制标记大小
嗯复制粘贴完了可以继续我的折线图了。
plt.plot(input_value, squares, linewidth=5) #参数为x,y,和linewidth
接着设置折线图的标题和标签
plt.title("Square Number", fontsize=24) # 第一个参数是标题
# fontsize 设置的是字体大小 使用关键字参数()
plt.xlabel("Value", fontsize=14) # 给x轴加上标签
plt.ylabel("Square of Value", fontsize=14) # 给y轴加上标签
plt.tick_params(axis="both", labelsize=14) # 设置刻度标记的大小 axis:轴
plt.show() # 生成折线图
关于plt.tick_params的用法,我又要复制粘贴一波了...
axis : 可选{‘x’, ‘y’, ‘both’} ,选择对哪个轴操作,默认是’both’
size/length : float, 刻度线的长度
width : float, 刻度线的宽度
which : 可选{‘major’, ‘minor’, ‘both’} 选择对主or副坐标轴进行操作(这个地方不懂什么是主副坐标轴)
labelsize : float/str, 刻度值字体大小
最后来看看效果
绘制散点图
x_value = [1, 2, 3, 4, 5]
y_value = [1, 4, 9, 16, 25]
plt.scatter(x_value, y_value, s=50) # 绘制多个点的散点图
plt.title("Square")
plt.xlabel("x", fontsize=10)
plt.ylabel("y", fontsize=10)
plt.show()
效果:
散点图使用的是scatter( )
s传list其实是设置每个点的大小,c传list则是对每个标记使用不同的颜色