迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

如何在 Matplotlib 中绘制对数轴

作者:迹忆客 最近更新:2023/03/17 浏览次数:

为了在 Matplotlib 中绘制半对数图,我们使用 set_xscale()set_yscale()semilogx()semilogy() 函数。如果必须将两个轴都设置为对数刻度,则可以使用 loglog() 函数。

set_xscale()set_yscale() 函数

我们使用 set_xscale()set_yscale() 函数分别设置 X 轴和 Y 轴的缩放比例。如果我们在函数中使用 logsymlog 比例尺,则将各个轴绘制为对数比例尺。使用带有 set_xscale()set_yscale() 函数的 log 标尺仅允许正值,这是让我们如何管理负值,而使用 symlog 标尺既接受正值又接受负值。

import pandas as pd
import matplotlib.pyplot as plt

date=["28 April",
      "27 April",
      "26 April",
      "25 April",
      "24 April",
      "23 April"]

revenue=[2954222 , 
            2878196 , 
            2804796 , 
            2719896 ,  
            2626321,
            2544792 ]  

company_data_df=pd.DataFrame({"date":date,"total_revenue":revenue})
company_data = company_data_df.sort_values(by=['total_revenue'])
fig = plt.figure(figsize=(8, 6))
plt.scatter(company_data['total_revenue'],company_data['date'])
plt.plot(company_data['total_revenue'],company_data['date'])
plt.xscale("log")
plt.xlabel("Total Revenue")
plt.ylabel("Date")
plt.title("Company Growth",fontsize=25)
plt.show()

输出:

使用 scalex()函数在 Matplotlib 中绘制对数轴

要设置沿 Y 轴的对数轴,我们可以使用 yscale() 函数将 Y 轴比例尺设置为 log

import pandas as pd
import matplotlib.pyplot as plt

date=["28 April",
      "27 April",
      "26 April",
      "25 April",
      "24 April",
      "23 April"]

revenue=[2954222 , 
            2878196 , 
            2804796 , 
            2719896 ,  
            2626321,
            2544792 ]  

company_data_df=pd.DataFrame({"date":date,"total_revenue":revenue})
company_data = company_data_df.sort_values(by=['total_revenue'])
fig = plt.figure(figsize=(8, 6))
plt.scatter(company_data['date'],company_data['total_revenue'])
plt.plot(company_data['date'],company_data['total_revenue'])
plt.yscale("log")
plt.xlabel("Date")
plt.ylabel("Total Revenue")
plt.title("Company Growth",fontsize=25)
plt.show()

输出:

使用 scaley()函数在 Matplotlib 中绘制对数轴

为了沿两个轴设置对数值,我们同时使用了 xscale()yscale() 函数:

import pandas as pd
import matplotlib.pyplot as plt

x = [10, 100, 1000, 10000, 100000]
y = [2, 4 ,8, 16, 32]

fig = plt.figure(figsize=(8, 6))
plt.scatter(x, y)
plt.plot(x, y)
plt.grid()
plt.xscale("log")
plt.yscale("log",basey=2)
plt.xlabel("x",fontsize=20)
plt.ylabel("y",fontsize=20)
plt.title("Plot with both log axes",fontsize=25)
plt.show()

输出:

使用 scalex 和 scaley 函数在两个轴上以对数比例绘制

这里 basey = 2 表示沿 Y 轴的 2 的对数。

semilogx()semilogy() 函数

semilogx() 函数创建沿 X 轴具有对数缩放比例的图,而 semilogy() 函数创建沿 Y 轴具有对数缩放比例的图。默认的对数底数是 10,而底数可以分别为函数 semilogx()semilogy() 设置 basexbasey 参数。

import pandas as pd
import matplotlib.pyplot as plt

date=["28 April",
      "27 April",
      "26 April",
      "25 April",
      "24 April",
      "23 April"]

revenue=[2954222 , 
            2878196 , 
            2804796 , 
            2719896 ,  
            2626321,
            2544792 ]  

company_data_df=pd.DataFrame({"date":date,"total_revenue":revenue})
company_data = company_data_df.sort_values(by=['total_revenue'])
fig = plt.figure(figsize=(8, 6))
plt.scatter(company_data['total_revenue'],company_data['date'])
plt.plot(company_data['total_revenue'],company_data['date'])
plt.semilogx()
plt.xlabel("Total Revenue")
plt.ylabel("Date")
plt.title("Company Growth",fontsize=25)
plt.show()

输出:

使用 semilogx()函数在 Matplotlib 中绘制对数轴

要沿两个轴设置对数值,我们可以同时使用 semilogx()semilogy() 函数:

import pandas as pd
import matplotlib.pyplot as plt

x = [10, 100, 1000, 10000, 100000]
y = [2, 4 ,8, 16, 32]

fig = plt.figure(figsize=(8, 6))
plt.scatter(x, y)
plt.plot(x, y)
plt.grid()
plt.semilogx()
plt.semilogy(basey=2)
plt.xlabel("x",fontsize=20)
plt.ylabel("y",fontsize=20)
plt.title("Plot with both log axes",fontsize=25)
plt.show()

输出:

使用 Semilogx 和 Semilogy 函数在两个轴上以对数比例绘制

loglog() 函数

为了沿 X 和 Y 轴进行对数缩放,我们还可以使用 loglog() 函数。X 轴和 Y 轴的对数底数由 basexbasey 参数设置。

import pandas as pd
import matplotlib.pyplot as plt

x = [10, 100, 1000, 10000, 100000]
y = [2, 4 ,8, 16, 32]

fig = plt.figure(figsize=(8, 6))
plt.scatter(x, y)
plt.plot(x, y)
plt.loglog(basex=10,basey=2)
plt.xlabel("x",fontsize=20)
plt.ylabel("y",fontsize=20)
plt.title("Plot with both log axes",fontsize=25)
plt.show()

输出:

使用对数函数在两个轴上用对数标度绘制

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Django 中的 Slug

发布时间:2023/05/04 浏览次数:173 分类:Python

本篇文章旨在定义一个 slug 以及我们如何使用 slug 字段在 Python 中使用 Django 获得独特的帖子。

Django ALLOWED_HOSTS 介绍

发布时间:2023/05/04 浏览次数:181 分类:Python

本文展示了如何创建您的 Django 网站,为公开发布做好准备,如何设置 ALLOWED_HOSTS 以及如何在使用 Django 进行 Web 部署期间修复预期的主要问题。

Django 中的 Select_related 方法

发布时间:2023/05/04 浏览次数:129 分类:Python

本文介绍了什么是查询集,如何处理这些查询以及我们如何利用 select_related() 方法来过滤 Django 中相关模型的查询。

在 Django 中上传媒体文件

发布时间:2023/05/04 浏览次数:198 分类:Python

在本文中,我们简要介绍了媒体文件以及如何在 Django 项目中操作媒体文件。

Django 返回 JSON

发布时间:2023/05/04 浏览次数:106 分类:Python

在与我们的讨论中,我们简要介绍了 JSON 格式,并讨论了如何借助 Django 中的 JsonResponse 类将数据返回为 JSON 格式。

在 Django 中创建对象

发布时间:2023/05/04 浏览次数:59 分类:Python

本文的目的是解释什么是模型以及如何使用 create() 方法创建对象,并了解如何在 Django 中使用 save() 方法。

在 Django 中为多项选择创建字段

发布时间:2023/05/04 浏览次数:75 分类:Python

在本文中,我们将着眼于为多项选择创建一个字段,并向您展示如何允许用户在 Django 中进行多项选择。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便