matplotlib -2 绘图属性设置

import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
#%matplotlib online #如果不显示图,执行此代码
plt.rcParams["font.sans-serif"]="SimHei" #显示中文
plt.rcParams["axes.unicode_minus"] = False #让图片显示符号

#legend()

plt.figure(figsize = (6,4))
x = np.linspace(1,2*np.pi)
plt.plot(x,np.sin(x))
plt.plot(x,np.cos(x))
#图例,如果没有下边的label 运行完plt.legend不报错也不显示图例,现在需要把label写在legend里了
plt.legend(["sin","cos"],fontsize = 18,loc = "best",ncol =2,bbox_to_anchor = [0,0,1,1]


# fontsize: 字体大小
# loc :
# best        0
# upper right 1
# upper left  2
# lower left  3
# lower right 4
# right       5
# center left 6
# center right7
# lower center8
# upper center9
# center      10
# ncol:显示出几列
# bbox_to_anchor:图例具体位置(x,y,width,height)

线条属性

#线条属性
color     颜色 
linestyle 样式
linewidth 宽度
alpha     透明度
marker    标记
label     标签
mfc:marker face color 标记的背景颜色
markeredgecolor 标记的边缘颜色
markeredgewidth 标记的边缘宽度

plt.figure(figsize = (6,4))
x = np.linspace(0,2*np.pi,20)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x,y1,c= "r",marker = "o",ls = "-.",alpha = 0.5,lw = 1,mfc = "y",markersize = 10,markeredgecolor = "g")
plt.plot(x,y2,c= "g",marker = "p",ls = "--",alpha = 0.5,lw = 1,mfc = "b",markersize = 10,markeredgewidth = 3)
plt.legend(["sin","cos"])

坐标轴属性

# xticks()
# yticks()
plt.figure(figsize = (6,4))
x = np.linspace(0,10)
y =np.sin(x)
plt.plot(x,y)
#ha labels的对齐方式
plt.xticks(np.arange(0,11,1),fontsize = 14,c = "c")
plt.yticks([-1,0,1],labels = ["min","0","max"],ha = "left")
plt.show()

坐标轴范围


# xlim
# ylim
plt.figure(figsize = (6,4))
x = np.linspace(0,2*np.pi,20)
y = np.sin(x)
plt.plot(x,y,c = "r")
#方法一
plt.xlim(-1,8)
plt.ylim(-2,2)
#方法二
plt.axis([-2,8,-2,2])

标题和网格线

plt.figure(figsize = (6,4))
x = np.linspace(0,2*np.pi,20)
y = np.sin(x)
plt.plot(x,y,c = "g")

#标题
plt.title("sin 曲线",fontsize = 20,loc = "center")
#父标题
plt.suptitle("父标题",
y = 1.1#位置
,fontsize = 25            
)
#grid网格线
plt.grid(ls = "--",lw = 0.5,c= "gray",axis = "y")

坐标轴标签

xlabel() ylabel()
plt.figure(figsize = (6,4))
x = np.linspace(0,2*np.pi,20)
y = np.sin(x)
plt.plot(x,y,c = "g")
plt.xlabel("x ",fontsize = 12,rotation = 45)#旋转45度
plt.ylabel("sin(x) ",fontsize = 12)#旋转45度
plt.figure(figsize = (6,4))
x = np.linspace(1,10,10)
y = np.array([50,20,48,90,200,400,299,49,50,10])
plt.plot(x,y,c = "g",ls = "--",marker = "o")

#画文字
for a,b in zip(x,y):
    plt.text(x=a+0.3,y =b+20,s = b,
            ha = "right"#对齐方式
             ,va = "center"#垂直方式
    )

#文本 text()

plt.figure(figsize = (6,4))
x = np.linspace(1,10,10)
y = np.array([50,20,48,90,200,400,299,49,50,10])
plt.plot(x,y,c = "g",ls = "--",marker = "o")

#画文字
for a,b in zip(x,y):
    plt.text(x=a+0.3,y =b+20,s = b,
            ha = "right"#对齐方式
             ,va = "center"#垂直方式
    )

注释

annotate()

fig = plt.figure(figsize = (6,4))
x = np.linspace(1,10,10)
y = np.array([50,20,48,90,200,400,299,49,50,10])
plt.plot(x,y,c = "g",ls = "--",marker = "o")
plt.annotate(
    text = "最高销量",#标注内容
    xy=(5,400),#标注的坐标点:箭头指向的位置
    xytext=(3,340),#标注内容的位置
    arrowprops={
        "width" :2,#箭头宽度
        "headwidth":8,
       "facecolor":"c"
    }
)

## 图片保存方法一
plt.savefig("sincos.png")
## 图片保存方法二
fig.savefig(fname = "sincos2.png",
            dpi = 100,
            facecolor = "c",
            pad_inches = 1# 内边距
           )

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值