精华内容
下载资源
问答
  • 画柱状图的时候,横坐标时用的中文字符,然后就发现设置坐标轴标签(也是中文)离得太近,挤到一起,不好看 plt.xlabel("特征") 解决办法         通过查函数原型及参数 matplotlib.pyplot...

    背景

                画柱状图的时候,横坐标时用的中文字符,然后就发现设置的坐标轴标签(也是中文)离得太近,挤到一起,不好看

    plt.xlabel("特征")
    

    在这里插入图片描述

    解决办法

            通过查函数原型及参数 matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)

    • xlabel:类型为字符串,即标签的文本。
    • labelpad:类型为浮点数,默认值为None,即标签与坐标轴的距离。
    • loc:取值范围为{‘left’, ‘center’, ‘right’},默认值为rcParams[“xaxis.labellocation”](‘center’),即标签的位置。
    • **kwargs:Text 对象关键字属性,用于控制文本的外观属性,如字体、文本颜色等。

            所以在使用的时候直接加上 labelpad 参数即可

    plt.xlabel("特征",labelpad=8.5)
    

    在这里插入图片描述

    展开全文
  • plt.figure(dpi=128,figsize=(4,4))plt.plot(temdata,c='red')#设置图形的格式plt.title("temperaturedata",fontsize=8)plt.xlabel('time',fontsize=6)plt.ylabel("temperature",font...plt.figure(dpi=128, figsize...

    plt.figure(dpi=128,figsize=(4,4))plt.plot(temdata,c='red')#设置图形的格式plt.title("temperaturedata",fontsize=8)plt.xlabel('time',fontsize=6)plt.ylabel("temperature",font...

    plt.figure(dpi=128, figsize=(4,4)) plt.plot(temdata, c='red') # 设置图形的格式 plt.title("temperature data", fontsize=8) plt.xlabel('time', fontsize=6) plt.ylabel("temperature", fontsize=6) plt.tick_params(axis='both', which="major", labelsize=6) plt.show()我想让y轴是从24.9到25.2,怎么设置啊,请教一下

    展开

    展开全文
  • pyplot模块中的autoscale函数可以切换是否自动缩放坐标轴范围,xlim()和ylim()函数可手动设置坐标轴范围。 autoscale函数 对于pyplot模块控制坐标轴范围是否自动缩放的函数为autoscale。 函数签名为matplotlib....

    matplotlib默认根据数据系列自动缩放坐标轴范围。pyplot模块中的autoscale函数可以切换是否自动缩放坐标轴范围,xlim()ylim()函数可手动设置坐标轴范围。

    autoscale函数

    对于pyplot模块控制坐标轴范围是否自动缩放的函数为autoscale
    函数签名为matplotlib.pyplot.autoscale(enable=True, axis='both', tight=None)
    参数作用及取值如下:

    • enable为布尔值,即是否自动缩放。
    • axis取值范围为{'both', 'x', 'y'},默认值为'both',即作用在哪个坐标轴。
    • tight为布尔值,默认值为None,即是否设置边距为0。

    底层相关函数有:
    Axes.autoscale
    Axes.autoscale_view
    Axes.set_autoscale_on
    Axes.get_autoscale_on
    Axes.set_autoscalex_on
    Axes.get_autoscalex_on
    Axes.set_autoscaley_on
    Axes.get_autoscaley_on

    案例

    自动缩放坐标轴范围功能对比。

    import matplotlib.pyplot  as plt
    
    plt.subplot(121)
    plt.plot([0.5,0.5])
    print(plt.gca().get_autoscale_on())
    print(plt.gca().get_autoscalex_on())
    print(plt.gca().get_autoscaley_on())
    plt.subplot(122)
    plt.plot([0.5,0.5])
    plt.autoscale(False)
    print(plt.gca().get_autoscale_on())
    print(plt.gca().get_autoscalex_on())
    print(plt.gca().get_autoscaley_on())
    plt.show()
    

    输出:
    在这里插入图片描述

    True
    True
    True
    False
    False
    False
    

    xlim()函数

    手动设置x坐标轴的范围或获取x坐标轴的范围。

    函数签名为matplotlib.pyplot.xlim(*args, **kwargs)

    调用签名有三种:

    • xlim((left, right))
    • xlim(left, right)
    • xlim(left=1, right=3)

    其中leftx坐标轴左侧极值,rightx坐标轴右侧极值。注意!left可以比right大!

    返回值为(left, right),即坐标轴范围元组。

    xlim()相当于Axes.get_xlimxlim(*args, **kwargs)相当于Axes.set_xlim

    案例

    演示xlim()的调用方法。

    import matplotlib.pyplot as plt
    
    plt.figure(figsize=(14, 3))
    plt.subplot(141)
    plt.plot([1, 1])
    print(plt.xlim())
    plt.subplot(142)
    plt.plot([1, 1])
    plt.xlim(0, 1.5)
    plt.annotate('plt.xlim(0,1.5)', (0.1, 1.001))
    print(plt.xlim())
    plt.subplot(143)
    plt.plot([1, 1])
    plt.xlim((0, 1.5))
    plt.annotate('plt.xlim((0,1.5))', (0.1, 1.001))
    print(plt.xlim())
    plt.subplot(144)
    plt.plot([1, 1])
    plt.xlim(left=0, right=1.5)
    plt.annotate('plt.xlim(left=0,right=1.5)', (0.1, 1.001))
    print(plt.xlim())
    plt.show()
    

    输出:
    在这里插入图片描述

    (-0.05, 1.05)
    (0.0, 1.5)
    (0.0, 1.5)
    (0.0, 1.5)
    

    ylim()函数

    手动设置y坐标轴的范围或获取y坐标轴的范围。使用方法与xim()函数相似。

    函数签名为matplotlib.pyplot.ylim(*args, **kwargs)

    调用签名有三种:

    • ylim((bottom, top))
    • ylim(bottom, top)
    • ylim(bottom=1, top=3)

    其中bottomx坐标轴左侧极值,topx坐标轴右侧极值。注意!bottom可以比top大!

    返回值为(bottom, top),即坐标轴范围元组。

    ylim()相当于Axes.get_ylimylim(*args, **kwargs)相当于Axes.set_ylim

    案例

    演示ylim()的调用方法。

    import matplotlib.pyplot as plt
    
    plt.figure(figsize=(14, 3))
    plt.subplot(141)
    plt.plot([1, 1])
    print(plt.ylim())
    plt.subplot(142)
    plt.plot([1, 1])
    plt.ylim(0, 1.5)
    plt.annotate('plt.ylim(0,1.5)', (0.1, 1.01))
    print(plt.ylim(0,1.5))
    plt.subplot(143)
    plt.plot([1, 1])
    plt.ylim((0, 1.5))
    plt.annotate('plt.ylim((0,1.5))', (0.1, 1.01))
    print(plt.ylim())
    plt.subplot(144)
    plt.plot([1, 1])
    plt.ylim(bottom=0, top=1.5)
    plt.annotate('plt.ylim(bottom=0,top=1.5)', (0.1, 1.01))
    print(plt.ylim())
    plt.show()
    

    输出:
    在这里插入图片描述

    (0.945, 1.0550000000000002)
    (0.0, 1.5)
    (0.0, 1.5)
    (0.0, 1.5)
    
    展开全文
  • 双y轴坐标轴图今天利用matplotlib绘图,想要完成一个双坐标格式的图。fig=plt.figure(figsize=(20,15))ax1=fig.add_subplot(111)ax1.plot(demo0719['TPS'],'b-',label='TPS',linewidth=2)ax2=ax1.twinx()#这是双坐标...

    双y轴坐标轴图

    今天利用matplotlib绘图,想要完成一个双坐标格式的图。

    fig=plt.figure(figsize=(20,15))

    ax1=fig.add_subplot(111)

    ax1.plot(demo0719['TPS'],'b-',label='TPS',linewidth=2)

    ax2=ax1.twinx()#这是双坐标关键一步

    ax2.plot(demo0719['successRate']*100,'r-',label='successRate',linewidth=2)

    横坐标设置时间间隔

    import matplotlib.dates as mdate

    ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d %H:%M:%S'))#设置时间标签显示格式

    plt.xticks(pd.date_range(demo0719.index[0],demo0719.index[-1],freq='1min'))

    纵坐标设置显示百分比

    import matplotlib.ticker as mtick

    fmt='%.2f%%'

    yticks = mtick.FormatStrFormatter(fmt)

    ax2.yaxis.set_major_formatter(yticks)

    知识点

    在matplotlib中,整个图像为一个Figure对象。在Figure对象中可以包含一个,或者多个Axes对象。每个Axes对象都是一个拥有自己坐标系统的绘图区域。其逻辑关系如下:

    1460000006767257

    一个Figure对应一张图片。

    Title为标题。Axis为坐标轴,Label为坐标轴标注。Tick为刻度线,Tick Label为刻度注释。1460000006158806

    Title为标题。Axis为坐标轴,Label为坐标轴标注。Tick为刻度线,Tick Label为刻度注释。

    1460000006158808

    add_subplot()

    The Axes instance will be returned.

    twinx()

    ax = twinx()

    create a twin of Axes for generating a plot with a sharex x-axis but independent y axis. The y-axis of self will have ticks on left and the returned axes will have ticks on the right.

    意思就是,创建了一个独立的Y轴,共享了X轴。双坐标轴!

    类似的还有twiny()

    ax1.xaxis.set_major_formatter

    Set the formatter of the major ticker

    ACCEPTS: A Formatter instance

    DateFormatter()

    strftime方法(传入格式化字符串)。

    strftime(dt, fmt=None)

    Refer to documentation for datetime.strftime.

    fmt is a strftime() format string.

    FormatStrFormatter()

    Use a new-style format string (as used by str.format()) to format the tick. The field formatting must be labeled x

    定义字符串格式。

    plt.xticks

    # return locs, labels where locs is an array of tick locations and

    # labels is an array of tick labels.

    locs, labels = xticks()

    # set the locations of the xticks

    xticks( arange(6) )

    # set the locations and labels of the xticks

    xticks( arange(5), ('Tom', 'Dick', 'Harry', 'Sally', 'Sue') )

    代码汇总

    #coding:utf-8

    import matplotlib.pyplot as plt

    import matplotlib as mpl

    import matplotlib.dates as mdate

    import matplotlib.ticker as mtick

    import numpy as np

    import pandas as pd

    import os

    mpl.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

    mpl.rcParams['axes.unicode_minus']=False #用来正常显示负号

    mpl.rc('xtick', labelsize=20) #设置坐标轴刻度显示大小

    mpl.rc('ytick', labelsize=20)

    font_size=30

    #matplotlib.rcParams.update({'font.size': 60})

    %matplotlib inline

    plt.style.use('ggplot')

    data=pd.read_csv('simsendLogConvert_20160803094801.csv',index_col=0,encoding='gb2312',parse_dates=True)

    columns_len=len(data.columns)

    data_columns=data.columns

    for x in range(0,columns_len,2):

    print('第{}列'.format(x))

    total=data.ix[:,x]

    print('第{}列'.format(x+1))

    successRate=(data.ix[:,x+1]/data.ix[:,x]).fillna(0)

    yLeftLabel=data_columns[x]

    yRightLable=data_columns[x+1]

    print('------------------开始绘制类型{}曲线图------------------'.format(data_columns[x]))

    fig=plt.figure(figsize=(25,20))

    ax1=fig.add_subplot(111)

    #绘制Total曲线图

    ax1.plot(total,color='#4A7EBB',label=yLeftLabel,linewidth=4)

    # 设置X轴的坐标刻度线显示间隔

    ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d %H:%M:%S'))#设置时间标签显示格式

    plt.xticks(pd.date_range(data.index[0],data.index[-1],freq='1min'))#时间间隔

    plt.xticks(rotation=90)

    #设置双坐标轴,右侧Y轴

    ax2=ax1.twinx()

    #设置右侧Y轴显示百分数

    fmt='%.2f%%'

    yticks = mtick.FormatStrFormatter(fmt)

    # 绘制成功率图像

    ax2.set_ylim(0,110)

    ax2.plot(successRate*100,color='#BE4B48',label=yRightLable,linewidth=4)

    ax2.yaxis.set_major_formatter(yticks)

    ax1.set_xlabel('Time',fontsize=font_size)

    ax1.set_ylabel(yLeftLabel,fontsize=font_size)

    ax2.set_ylabel(yRightLable,fontsize=font_size)

    legend1=ax1.legend(loc=(.02,.94),fontsize=16,shadow=True)

    legend2=ax2.legend(loc=(.02,.9),fontsize=16,shadow=True)

    legend1.get_frame().set_facecolor('#FFFFFF')

    legend2.get_frame().set_facecolor('#FFFFFF')

    plt.title(yLeftLabel+'&'+yRightLable,fontsize=font_size)

    plt.savefig('D:\\JGT\\Work-YL\\01布置的任务\\04绘制曲线图和报告文件\\0803\\出图\\{}-{}'.format(yLeftLabel.replace(r'/',' '),yRightLable.replace(r'/',' ')),dpi=300)

    1460000006158812

    参考

    展开全文
  • axis()函数是一个坐标轴配置的方便接口。 axis()的函数签名为matplotlib.pyplot.axis(*args, emit=True, **kwargs)。 axis()的调用签名为: xmin, xmax, ymin, ymax = axis() xmin, xmax, ymin, ymax = axis([xmin,...
  • Matplotlib 亲 测 可 用 环境: windows PyCharm 2019.1 Python 3.7 导入及基本配置 import matplotlib.pyplot as plt # 导入matplotlib模块 ...plt.rcParams['font.sans-serif']=['SimHei'] # 正常
  • 坐标轴范围概念根据需求调整坐标轴范围坐标轴范围调整第一种形式通过plt.axis()可以查看图形的x轴的最小最大坐标和y轴的最小最大坐标第一个数:x的最小坐标第二个数:x的最大坐标第三个数:y的最小坐标...
  • 在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围坐标轴刻度大小、坐标轴名称等 xlim():设置x坐标轴范围 ylim():设置y坐标轴范围 xlabel():设置x坐标轴名称 ylabel...
  • 坐标轴范围设置

    万次阅读 2016-12-03 01:49:55
    设置坐标轴范围可以通过axis(), xlim()和ylim()三个来设置,axis()用来同时设置x轴和y轴,后面的两个都是针对于特定的坐标轴而言。 具体使用如下 #!/usr/bin/python #coding: utf-8 import numpy as np import ...
  • 在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围坐标轴刻度大小、坐标轴名称等 ,在matplotlib中包含了很多函数,用来对这些参数进行设置。我们可以对坐标轴进行...
  • 通过rc参数可以修改默认的属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。rc参数存储在字典变量中,通过字典的方式进行访问。 代码: import numpy as np ...
  • 4.设置坐标轴的显示范围 plt.xlim(0.5, 5.5) plt.ylim(0.5, 1.0) 5.在图中显示文字标注 #三个参数分别为x,y,要显示的内容 plt.text(xloc,yloc,str) 6.美化风格 plt.style.use('ggplot') 三.lgb特征重要性 ...
  • 01、加载库importnumpy as npimportpandas as pdimport matplotlib.pyplot as plt02、示例数据x = np.linspace(-np.pi*2, np.pi*2)y1=np.sin(x)y2= np.power(x, 2) * 0.05 #指数运算df = pd.DataFrame({'a': y1, 'b'...
  • 用matplotlib画图,一次性画出多张图片。 import numpy as np import pandas as pd ...import matplotlib.pyplot as plt #读取文件数据 df = pd.read_csv('30SaverageSpeed12.csv',names=['t',...
  • 在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围坐标轴刻度大小、坐标轴名称等 在matplotlib中包含了很多函数,用来对这些参数进行设置。 我们可以对坐标轴进行...
  • 在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,...plt.xlim、plt.ylim 设置横纵坐标轴范围  plt.xlabel、plt.ylabel 设置坐标轴名称  plt.xticks、plt.yticks设置坐标轴刻度 以上plt表示ma...
  • python-matplotlib.pyplot如何设置坐标轴范围

    万次阅读 多人点赞 2019-04-08 18:33:28
    python-matplotlib.pyplot如何设置坐标轴范围
  • Python学习笔记–坐标轴范围 参靠视频:《Python数据可视化分析 matplotlib教程》链接:https://www.bilibili.com/video/av6989413/?p=6 所用的库及环境: IDE:Pycharm Python环境:python3.7 Matplotlib: ...
  • matplotlib.设置坐标轴

    千次阅读 2018-07-06 20:33:36
    在使用matplotlib模块时画坐标图时,往往需要对坐标轴设置很多参数,这些参数包括横纵坐标轴范围坐标轴刻度大小、坐标轴名称等 在matplotlib中包含了很多函数,...plt.xlim、plt.ylim 设置横纵坐标轴范围 plt.x...
  • python绘图库matplotlib 设置坐标轴范围

    千次阅读 2020-08-30 12:50:07
    同时设置x和y坐标plt.axis([xmin, xmax, ymin, ymax]) 只设置x坐标plt.xlim([xmin, xmax]) 只设置y坐标plt.ylim([ymin, ymax])

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,062
精华内容 4,824
关键字:

plt坐标轴范围设置