python Matplotlib 可视化总结归纳(一) 折线图、散点图及其坐标轴属性设置

一、数据准备

1、python 内置函数 range

创建一个整数列表,只限于整数

range(start, stop, step)

计数从start开始,默认从0开始,stop结束,但不包含stop,step为步长,默认为1

2. numpy中的arange

语法与range类似,由开始、结束、步长组成,步长默认为1

import numpy as np
print (np.arange(0,1,0.1))

输出:

[ 0.   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9]

 3. numpy中的linspace模块,

np.linspace(start, end, num, endpoint=True)

计数从start开始,默认从0开始,stop结束, num表示总个数,endpoint默认为false,设置不包含终值

import numpy as np
print(np.linspace(0, 1, 10,endpoint=False))
print(np.linspace(0, 1, 10,endpoint=True))

输出:

[ 0.   0.1  0.2  0.3  0.4  0.5  0.6  0.7  0.8  0.9]  
[ 0.          0.11111111  0.22222222  0.33333333  0.44444444  0.55555556
  0.66666667  0.77777778  0.88888889  1.        ]

二、图的类型 (绘制折线图、散点图,细节会在第三部分讲解)

1.折线图

#绘制折线图
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]

plt.plot(month,sales)

plt.title("Sales for the first 6 months") #图名
plt.xlabel("month")#x轴标签
plt.ylabel("sales")#y轴标签
plt.tick_params(axis='both')#x,y轴都有刻度

plt.savefig('.//result//3.1.png')#保存图片,一定要在show之前保存图片,否则保存的图片就为空白
plt.show(

2. 散点图

plt.scatter(month,sales)
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]

plt.scatter(month,sales)

plt.title("Sales for the first 6 months") #图名
plt.xlabel("month")#x轴标签
plt.ylabel("sales")#y轴标签
plt.tick_params(axis='both')#x,y轴都有刻度

plt.savefig('.//result//3.2.png')#保存图片,一定要在show之前保存图片,否则保存的图片就为空白
plt.show()

总结:

import matplotlib.pyplot as plt

#绘制折线图
plt.plot(x,y)

#绘制散点图
plt.scatter(x,y)

 三、图的细节问题处理

改变如图所示

  • 图表名的属性
  • 折线的属性
  • 坐标轴的属性
  • 刻度值的属性

1.图表名的属性(title)  

  • fontsize设置字体大小,默认12,可以写字体大小或参数,可选参数 ['xx-small', 'x-small', 'small', 'medium', 'large','x-large', 'xx-large']
  • fontweight设置字体粗细,可选参数 ['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black']
  • fontstyle设置字体类型,可选参数[ 'normal' | 'italic' | 'oblique' ],italic斜体,oblique倾斜
  • verticalalignment设置水平对齐方式 ,可选参数 : 'center' , 'top' , 'bottom' ,'baseline' 
  • horizontalalignment设置垂直对齐方式,可选参数:left,right,center
  • rotation(旋转角度)可选参数为:vertical,horizontal 也可以为数字
  • alpha透明度,参数值0至1之间
plt.title('Graph',fontsize='large',fontweight='bold') 设置字体大小与格式
plt.title('Graph',color='blue') 设置字体颜色
plt.title('Graph',loc ='left') 设置字体位置

2.折线属性(plot)

颜色

c  青红(cyan)  r  红色(red)m  品红(magente)g  绿色(green) 
y  黄色(yellow)k  黑色(black)w  白色(white)b 蓝色(blue)
#绘制红色折线
plt.plot(month,sales,color = 'r')

折线粗细(linewidth)

plt.plot(month,sales,linewidth = 2) 

在plt.plot加入如下参数时,改变折线形式

-  直线-- 虚线-.  一横一点:   细小虚线s  方形  o  圆形 D 菱形
h  六角形 H  六角形*  星号  +  加号x  x形d  菱形p  五角形
plt.plot(month,sales,'-.',color ='r)

3.坐标轴的属性 

设置坐标轴粗细

#设置坐标轴粗细
ax=plt.gca();#获得坐标轴的句柄
ax.spines['bottom'].set_linewidth(2);###设置底部坐标轴的粗细
ax.spines['left'].set_linewidth(2);####设置左边坐标轴的粗细
ax.spines['right'].set_linewidth(2);###设置右边坐标轴的粗细
ax.spines['top'].set_linewidth(2);####设置上部坐标轴的粗细

设置横纵坐标的名称以及对应字体格式(xlabel,ylabel)

  1. #参数值的调换参考图标名的可选参数
    
    font= {'family' : 'Times New Roman','weight' : 'normal','size' : 30,}   
    
    plt.xlabel('round',font)
    
    plt.ylabel('value',font)

坐标轴范围设置,两种,分别是xlim,ylinm 和 axis

plt.xlim(-6,6)
plt.ylim(-500,500)
plt.axis([xmin, xmax, ymin, ymax])

 

 

 4.坐标轴刻度属性

plt.tick_params(axis='both',labelsize = 15)#x,y轴都有刻度 

 将以上介绍的放在一个代码中,实现设置属性的功能

#绘制折线图
import matplotlib.pyplot as plt
month = [1,2,3,4,5,6]
sales = [10,12,12.4,13,16,18]

#设置折线属性
plt.plot(month,sales,'-.',color = 'r',linewidth = '4')

#设置图名属性
plt.title("Sales for the first 6 months",fontsize = 'large',fontweight = 'bold',color = 'b') 

#设置坐标轴属性
font= {'family' : 'Times New Roman','weight' : 'normal','size' : 30}
plt.xlabel("month",font)#x轴标签
plt.ylabel("sales",font)#y轴标签

#设置坐标轴粗细
ax=plt.gca();#获得坐标轴的句柄
ax.spines['bottom'].set_linewidth(2);###设置底部坐标轴的粗细
ax.spines['left'].set_linewidth(2);####设置左边坐标轴的粗细
ax.spines['right'].set_linewidth(2);###设置右边坐标轴的粗细
ax.spines['top'].set_linewidth(2);####设置上部坐标轴的粗细

#设置坐标轴刻度的属性
plt.tick_params(axis='both',labelsize = 15)
plt.savefig('.//result//3.5.png')#保存图片,一定要在show之前保存图片,否则保存的图片就为空白
plt.show()

虽然很丑,但是将图名、坐标轴等所有属性都进行了设置 

最后,推荐一波自己的公众号,Python机器学习进阶之路 

  • 18
    点赞
  • 139
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值