python画图(散点图,折线图)

判断小数点几位
先将浮点数转化为字符串,然后截取小数点右边的字符,在使用len函数。

x=3.25

len(str(x).split(".")[1])

绘制散点图
#需导入要用到的库文件
import numpy as np # 数组相关的库
import matplotlib.pyplot as plt # 绘图库
N = 10
x = np.random.rand(N) # 包含10个均匀分布的随机值的横坐标数组,大小[0, 1]
y = np.random.rand(N) # 包含10个均匀分布的随机值的纵坐标数组
plt.scatter(x, y, alpha=0.6) # 绘制散点图,透明度为0.6(这样颜色浅一点,比较好看)
plt.show()

调整散点大小
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
area = np.random.rand(N) * 1000 # 包含10个均匀分布的随机值的面积数组,大小[0, 1000]
fig = plt.figure()
ax = plt.subplot()
ax.scatter(x, y, s=area, alpha=0.5) # 绘制散点图,面积随机
plt.show()

调整散点颜色
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
x2 = np.random.rand(N)
y2 = np.random.rand(N)
area = np.random.rand(N) * 1000
fig = plt.figure()
ax = plt.subplot()
ax.scatter(x, y, s=area, alpha=0.5)
ax.scatter(x2, y2, s=area, c=‘green’, alpha=0.6) # 改变颜色
plt.show()

调整散点形状
N = 10
x = np.random.rand(N)
y = np.random.rand(N)
x2 = np.random.rand(N)
y2 = np.random.rand(N)
x3 = np.random.rand(N)
y3 = np.random.rand(N)
area = np.random.rand(N) * 1000
fig = plt.figure()
ax = plt.subplot()
ax.scatter(x, y, s=area, alpha=0.5)
ax.scatter(x2, y2, s=area, c=‘green’, alpha=0.6)
ax.scatter(x3, y3, s=area, c=area, marker=‘v’, cmap=‘Reds’, alpha=0.7) # 更换标记样式,另一种颜色的样式
plt.show()

添加文本(matplotlib.pyplot.text)
语法:matplotlib.pyplot.text(x, y, s, fontdict=None, **kwargs)
import matplotlib.pyplot as plt
plt.style.use(‘seaborn-whitegrid’)
plt.figure(figsize=(5,4),dpi=120)
plt.plot([1,2,5],[7,8,9])
plt.text(x=2.2,#文本x轴坐标
y=8, #文本y轴坐标
s=‘basic unility of text’, #文本内容
rotation=1,#文字旋转
ha=‘left’,#x=2.2是文字的左端位置,可选’center’, ‘right’, ‘left’
va=‘baseline’,#y=8是文字的低端位置,可选’center’, ‘top’, ‘bottom’, ‘baseline’, ‘center_baseline’
fontdict=dict(fontsize=12, color=‘r’,
family=‘monospace’,#字体,可选’serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’, ‘monospace’
weight=‘bold’,#磅值,可选’light’, ‘normal’, ‘medium’, ‘semibold’, ‘bold’, ‘heavy’, ‘black’

                  )#字体属性设置

给文本加上背景框
import matplotlib.pyplot as plt
plt.figure(figsize=(5,4),dpi=120)
plt.plot([1,2,5],[7,8,9])
text = plt.text(x=2.2,#文本x轴坐标
y=8, #文本y轴坐标
s=‘basic unility of text’, #文本内容

     fontdict=dict(fontsize=12, color='r',family='monospace',),#字体属性字典
     
     #添加文字背景色
     bbox={'facecolor': '#74C476', #填充色
          'edgecolor':'b',#外框色
           'alpha': 0.5, #框透明度
           'pad': 8,#本文与框周围距离 
          }
     
    )

text.set_color(‘b’)#修改文字颜色

2、添加注释(matplotlib.pyplot.annotate)
语法:matplotlib.pyplot.annotate(text, xy, *args, **kwargs)

matplotlib.pyplot.annotate结合matplotlib.pyplot.text添加注释内容。

plt.figure(figsize=(5,4),dpi=120)
plt.plot([1,2,5],[7,8,9])

plt.annotate(‘basic unility of annotate’,
xy=(2, 8),#箭头末端位置

         xytext=(1.0, 8.75),#文本起始位置
         
         #箭头属性设置
        arrowprops=dict(facecolor='#74C476', 
                        shrink=1,#箭头的收缩比
                        alpha=0.6,
                        width=7,#箭身宽
                        headwidth=40,#箭头宽
                        hatch='--',#填充形状
                        frac=0.8,#身与头比
                        #其它参考matplotlib.patches.Polygon中任何参数
                       ),
        )

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0, 6)
y = x * x

plt.plot(x, y, marker=‘o’)
for xy in zip(x, y):
plt.annotate("(%s,%s)" % xy, xy=xy, xytext=(-20, 10), textcoords=‘offset points’)
plt.show()

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神出鬼没,指的就是我!

必须花钱,数据超好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值