Python数据可视化笔记02--折线图、散点图实战

Python数据可视化笔记01--Matplotlib基础 

本文索引:

  1. 折线图实战
  2. 散点图实战

实验环境:Windows10+jupyter notebook

一、折线图

  • 折线图通常用来表示数据随时间或有序类别变化的趋势。
  • 最简单的折线图示例
import matplotlib.pyplot as plt
data = [1,2,3,4,5,4,2,4,6,7]    # 随意创建的数据
plt.plot(data)    # 引用matplotlib库中的pyplot模块图
plt.show()

运行结果:

  • plot()函数的第一个参数表示横坐标数据
  • 第二个参数表示纵坐标数据
  • 第三个参数表示颜色、线型和标记样式
  • 颜色常用的有(r / g / b / c / m / y / k / w),分别表示红,绿,蓝,青,品红,黄等
  • 线型常用的值有(- / -- / : / -.)
  • 标记样式常用的值有(. / , / o / v / ^ / s / * / D / d / x / < / > / h / H / 1 / 2 / 3 / 4 /_ /|)

绘制多条曲线、曲线颜色、线型、标记等参数设置示例:

# 绘制多条曲线、曲线颜色、线型、标记等参数设置
import matplotlib.pyplot as plt
import matplotlib.font_manager as fm # 图示字体设置所需模块

yy = [1,2,3,4,5,3,1,2,7,8]   # 随意创建的数据
xx = [3,5,4,1,9,3,2,5,6,3]
zz = [2,2,4,7,4,8,2,4,5,6]
# 指定数据,颜色,线宽,线型,
plt.plot(yy,color='r',linewidth=5,linestyle=':',label='Data 1')
plt.plot(xx,color='g',linewidth=2,linestyle='--',label='Data 2')
plt.plot(zz,color='b',linewidth=0.5,linestyle='-',label='Data 3')
plt.legend(loc=2)
# 标题名称,字体设置
plt.xlabel('x轴',fontproperties='simhei')
plt.ylabel('y轴',fontproperties='simhei')
plt.title('折线图美化示例',fontproperties='simhei')
plt.ylim(0,10)

运行结果:


【折线图实战一】

  • 已知王府井某小吃店2018年每个月份的营业额如下表所示。请使用matplotlib扩展库编写Python程序绘制折线图时对该小吃全年营业额进行可视化,并使用红色点划线连接每个月的数据,并在每个月份的数据处使用三角形标记。
月份 1 2 3 4 5 6 7 8 9 10 11 12
营业额(万元) 5.2 7.7 5.8 5.7 7.3 9.2 18.7 14.6 20.5 17 9.8 6.9
import matplotlib.pyplot as plt

month = list(range(1,13))  # 定义一个列表,范围为1-12
money = [5.2,7.7,5.8,5.7,7.3,9.2,18.7,14.6,20.5,17,9.8,6.9]

plt.plot(month,money,'r-.v')    # 绘图,参数分别为横坐标,纵坐标,红色点划线

plt.xlabel('month',fontsize=14)    # x轴标题,字体大小
plt.ylabel('money',fontsize=14)    # y轴标题,字体大小
plt.title('earth',fontsize=18)     # 图示标题,字体大小

plt.show()

运行结果:


二、散点图

  • 在matplotlib中使用函数matplotlib.pyplot.scatter绘制散点图
matplotlib.pyplot.scatter(x,y,s=None,c=None,marker=None,cmap=None,
norm=None,vmin=None,vmax=None,alpha=None,linewidths=None,verts=None,
edgecolors=None,hold=None,data=None,**kwargs)
  • 常用参数有:x,y组成了散点的坐标;s为散点的面积;c为散点的颜色(默认为蓝色‘b’);marker为散点的标记;alpha为散点的透明度(0与1之间的数,0位完全透明,1不完全不透明);linewidths为散点边缘的线宽;如果marker为None,则使用verts的值构建散点标记;edgecolors为散点边缘颜色。

绘制普通散点图,10个位置随机的散点图

import matplotlib.pyplot as plt
import numpy as np

N = 10
x = np.random.rand(N)
y = np.random.rand(N)
plt.scatter(x,y)
plt.show()

运行结果:

接下来,我们对图进行修改,我们可以对散点的大小进行修改:

import matplotlib.pyplot as plt
import numpy as np

N = 10
x = np.random.rand(N)
y = np.random.rand(N)

size = (30*np.random.rand(N))**2

plt.scatter(x,y,s=size)
plt.show()

运行结果:

再来看,如果我们更改散点图的散点颜色和透明度,颜色设为随机,透明度0.5

import matplotlib.pyplot as plt
import numpy as np

N = 10
x = np.random.rand(N)
y = np.random.rand(N)
# 散点大小随机
size = (30*np.random.rand(N))**2
# 散点颜色随机
color = np.random.rand(N)

plt.scatter(x,y,s=size,c=color,alpha=0.5)
plt.show()

运行结果:

再假如我们要修改散点的形状,改为上三角,只需要在scatter函数中增加一个参数marker:

import matplotlib.pyplot as plt
import numpy as np

N = 10
x = np.random.rand(N)
y = np.random.rand(N)
# 散点大小随机
size = (30*np.random.rand(N))**2
# 散点颜色随机
color = np.random.rand(N)

plt.scatter(x,y,s=size,c=color,alpha=0.5,marker='^')
plt.show()

运行结果:

再看如何一张图绘制两组数据:

import matplotlib.pyplot as plt
import numpy as np

N = 10
x1 = np.random.rand(N)
y1 = np.random.rand(N)

x2 = np.random.rand(N)
y2 = np.random.rand(N)

plt.scatter(x1,y1,alpha=0.5,marker='^')
plt.scatter(x2,y2,alpha=0.5,marker='o')
plt.show()

运行结果:

最后一个,我们为散点图增加实例:

import matplotlib.pyplot as plt
import numpy as np

N = 10
x1 = np.random.rand(N)
y1 = np.random.rand(N)

x2 = np.random.rand(N)
y2 = np.random.rand(N)
# 增加图例形状参数
plt.scatter(x1,y1,alpha=0.5,marker='^',label='triangle')
plt.scatter(x2,y2,alpha=0.5,marker='o',label='cicle')

plt.legend(loc='best')    # 自动适应图例位置

plt.show()

运行结果:

数据可视化部分的内容比较简单,但还是要亲手操作一下才能更好的记忆,以方便后面我们学习机器学习更灵活的使用,一起加油。

>> end

发布了51 篇原创文章 · 获赞 5 · 访问量 2000

猜你喜欢

转载自blog.csdn.net/MARS_098/article/details/104079939
今日推荐