实验作图的时候出现了一个问题,由于数据范围过大,导致数据变化不明显,出来的折线图如下:

对应代码:

import matplotlib.pyplot as plt
import numpy as np
a_ = np.array(a)
plt.plot(a_[:, 0],-a_[:, 1])
plt.xlabel('number of objective function evaluations')
plt.ylabel('the optimal solution')
plt.show()

所以想到了利用对数坐标,搜了搜官方文档,将y坐标改成了对数坐标。效果如下:

代码如下:

import matplotlib.pyplot as plt
import numpy as np
a_ = np.array(a)
plt.axes(yscale = "log")                # 在plot语句前加上该句话即可
plt.plot(a_[:, 0],-a_[:, 1])
plt.xlabel('number of objective function evaluations')
plt.ylabel('the optimal solution')
plt.show()

如上,在plot前加入语句plt.axes(yscale = "log")即可。若要让x坐标也为对数坐标,yscale改为xscale即可。

注意, 这里用的是matplotlib.pyplot里面的axes,而不是matplotlib.axes里的。

这里使用log关键字,仅用来绘制正数,若要绘制有正数有负数,有symlog关键字可用。

官方文档:https://matplotlib.org/api/_as_gen/matplotlib.pyplot.axes.html#matplotlib.pyplot.axes

附:

这里绘图的数据如下

a = [[1,-536512],
[13,-9950.1],
[24,-9394.13],
[49,-8829.27],
[97,-3496],
[110,-2403.09],
[165,-169.257],
[195,-124.513],
[230,-6.31601],
[245,-7.92737],
[259,-4.78377],
[896,-10.7847],
[1496,-7.73153],
[1679,-6.59467],
[1690,-7.73153],
[2063,-6.59467],
[2064,-7.73153],
[11556,-8.46228],
[16033,-9.08796],
[18108,-17.3727],
[18816,-8.46228],
[19374,-5.23453],
[21550,-4.53278],
[27783,-4.43594],
[27795,-4.53278],
[29177,-4.43594],
[30382,-4.53278],
[46829,-4.2019],
[92000,-4.68217],
[99905,-4.2019],
[148385,-5.23453],
[148501,-4.68217],
[155295,-5.23453],
[155338,-4.86867],
[162962,-5.23453],
[174377,-4.86867],
[256816,-8.46228],
[256879,-4.86867],
[340068,-8.46228],
[340070,-5.23453],
[596774,-5.61897],
[950661,-4.05199],
[951430,-5.61897],
[987355,-4.05199],
[1003312,-5.61897],
[1019746,-4.47187],
[1043041,-5.61897],
[1078970,-4.05199],
[1090274,-5.34352],
[1372887,-2.83073],
[2049744,-2.77323],
[2050511,-2.83073],
[2152576,-2.77323],
[3534190,-4.21561],
[3536974,-2.77323],
[3569699,-4.21561],
[3703846,-2.16943],
[3778351,-4.21561],
[4304789,-2.16943],
[4360274,-1.52345],
[4382029,-2.16943],
[4518296,-4.21561],
[4638560,-2.16943],
[4717278,-4.21561],
[4717910,-2.16943],
[4812802,-4.21561],
[4852083,-2.13751],
[4999685,-4.21561],
[5001974,-1.91082],
[5045584,-4.21561],
[5174315,-2.13751],
[5472105,-4.21561],
[5591650,-2.29429],
[5604518,-4.21561],
[5894536,-1.23585],
[5941052,-4.21561],
[5944566,-1.23585],
[5991252,-4.21561],
[5994778,-1.23585],
[6191307,-2.13751],
[6306965,-2.77323],
[6420408,-1.23585],
[6465015,-2.77323],
[6526275,-1.23585],
[6569227,-2.77323],
[6576564,-1.23585],
[7440708,-2.16943],
[7683774,-3.30138],
[7862138,-1.74225],
[8258342,-3.30138],
[8382625,-1.74225],
[8525884,-3.30138],
[8831033,-1.74225],
[8895660,-3.30138],
[8896294,-1.74225],
[10020372,-1.23585]]

python绘制半对数坐标相关推荐

  1. 怎么用python找论文_如何利用Python绘制学术论文图表方法

    论文中图表形式多样,常用的处理工具有excel.MATLAB以及Python等,excel自处理的方法有两个缺陷: 1.当数据较多时,容易出现excel"翻白眼"的现象: 2.需要 ...

  2. python绘制条形图用什么函数_Python绘制正余弦函数图像完整代码

    通过python绘制正弦和余弦函数,从默认的设置开始,一步一步地调整改进,让它变得好看,变成我们初高中学习过的图象那样.通过这个过程来学习如何进行对图表的一些元素的进行调整. 01. 简单绘图 mat ...

  3. python绘制所有特征的密度图(density plot)

    python绘制所有特征的密度图(density plot) # python绘制所有特征的密度图: n = len(input_feats) #密度图kde,查查分布 cols = 4 rows = ...

  4. python绘制影像组学训练集、测试集对应的ROC曲线以及瀑布图(rad-score 瀑布图)

    python绘制影像组学训练集.测试集对应的ROC曲线以及瀑布图(rad-score 瀑布图) # 所有数据的瀑布图 tagets_all = df['label'] tagets_all = df. ...

  5. 什么是折线图?怎样用Python绘制?怎么用?终于有人讲明白了(附代码)

    来源:大数据DT 本文约5400字,建议阅读10分钟 本文为你介绍数据分析时经常用到的折线图,可以用来呈现哪些数据关系?在数据分析过程中可以解决哪些问题?怎样用Python绘制折线图? 01 概述 折 ...

  6. 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?(附代码)

    来源:大数据DT(ID:hzdashuju) 作者:屈希峰,资深Python工程师,知乎多个专栏作者 本文约8000字,建议阅读20分钟 柱状图是当前应用最广泛的图表之一,你几乎每天都可以在电子产品上 ...

  7. 层次聚类python_用python绘制层次聚类图

    层次聚类(Hierarchical clustering)代表着一类的聚类算法,这种类别的算法通过不断的合并或者分割内置聚类来构建最终聚类. 聚类的层次可以被表示成树(或者树形图(dendrogram ...

  8. 利用Python绘制 3D 体素色温图

    简 介: 测试了Matplotlib中的 体素绘制函数 voxels() ,但是无论是在 AI Studio中执行,还是直接在本地执行,都会出了错误.也就是无法通过 gca(projection='3 ...

  9. python绘制直方图显示数字_Python实现绘制双柱状图并显示数值功能示例

    本文实例讲述了Python实现绘制双柱状图并显示数值功能.分享给大家供大家参考,具体如下: # -*- coding:utf-8 -*- #! python3 import matplotlib.py ...

最新文章

  1. Django 笔记-20190521
  2. Attempt to present vc on vc which is already presenting vc/(null)
  3. php select user 验证,php 用户验证的简单示例
  4. cad图框尺寸标准图_工程必备 | CAD图纸1:100打印可以量取的尺寸
  5. Python第十七课(面向对象基础)
  6. 从键盘上录入两个整数,计算a的b次方的结果
  7. 如何查看linux CPU总占用率?
  8. 清华2018顶级数据团队建设全景报告发布:Python最受欢迎,C语言含金量最高
  9. NIC Bonding on CentOS 7 with nmtui
  10. Android自定义View初步
  11. linux文件系统与磁盘(五)分区的取消挂载、调整分区大小
  12. 麦子学院彭亮python基础_麦子学院Python视频
  13. numpy pandas matplotlib 学习笔记
  14. java面试一些问题汇总
  15. 『Python学习笔记』Mac系统汇总:终端文件显示不同颜色Pycharm代码模板JAVA环境变量
  16. 北邮计算机复试读英语,简单的说一下北邮的复试过程吧
  17. ciso 调试_混乱工程对CISO必不可少的5个原因
  18. Linux系列教程——1 Linux磁盘管理、2 Linux进程管理、3 Linux系统服务、 4 Linux计划任务
  19. html5课程的收获,千锋重庆HTML5学员感悟 一分耕耘一分收获
  20. QTP对于支付宝控件无法录制的问题解决

热门文章

  1. S5PV210开发系列五 sd卡驱动实现
  2. C# delegate 详解
  3. 帆软中python调用_如何1min了解台灣及全球地震分佈情況:用PythonFineReport培養分析思維(上)...
  4. 行云管家堡垒机如何登录服务器
  5. “新恒大”的几个“万亿未来”
  6. 百世集团公布2020年第一季度业绩 国际业务收入增长近两倍
  7. 将来必备 先驱还是模仿者?细数海外移动应用推广平台
  8. 如何在hosts文件添加自己想要解析的网站?及修改hosts的作用
  9. cellpadding的用法和定义
  10. nbuoj 1244 判断三角形的类型