欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python繪圖坐橫坐標(biāo)軸顯示方式

 更新時(shí)間:2023年09月12日 09:33:36   作者:wwwddd666  
這篇文章主要介紹了python繪圖坐橫坐標(biāo)軸顯示方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python matplotlib繪圖

使橫坐標(biāo)軸顯示指定內(nèi)容

在python 繪圖的時(shí)候直接plot會(huì)出現(xiàn)橫坐標(biāo)軸顯示為浮點(diǎn)數(shù)得情況。

舉個(gè)栗子:

使用代碼:

import matplotlib.pyplot as plt
y = [7.1,7.2,7.3,7.4,7.5]
x = list(range(0,5))#自動(dòng)生成0,1,2,3,4這幾個(gè)數(shù),并添加到list中
plt.plot(x,y)
plt.show()

得到結(jié)果圖如下:

可以看到途中我標(biāo)出來的坐標(biāo)軸使浮點(diǎn)數(shù)的形式。

解決方法:

只需要在plt.plot后面加上一句plt.xticks(),指明x軸的坐標(biāo)使用那個(gè)列表內(nèi)容作為表示即可。

下面舉個(gè)例子,

例子中就以自然數(shù)0,1,2,3,4作為坐標(biāo),也可以替換成英文單詞等等,替換成中文的話需要其他操作。這里留個(gè)接口,以后寫中文怎么顯示。

接上例子代碼,改后代碼為:

import matplotlib.pyplot as plt
y = [7.1,7.2,7.3,7.4,7.5]
x = list(range(0,5))#自動(dòng)生成0,1,2,3,4這幾個(gè)數(shù),并添加到list中
plt.plot(x,y)
plt.xticks(x)#指明x軸坐標(biāo)使用列表x里的內(nèi)容
plt.show()

改后作圖如下:

python畫圖,坐標(biāo)軸問題

畫坐標(biāo)軸的時(shí)候出現(xiàn)了2個(gè)bug

第一個(gè)是y軸的大值在下面,小值在上面

這個(gè)bug的原因是y是str類型,而不是Int類型

解決辦法是把y軸的每個(gè)值都變成int型

v = [int(m) for m in v]

python的數(shù)據(jù)類型要時(shí)刻注意,float, int, str之間一不小心就轉(zhuǎn)換

第二個(gè)是y軸的刻度太難看了

解決:

y_major_locator = mticker.MultipleLocator(gap)
ax.yaxis.set_major_locator(y_major_locator)

效果:

完整代碼:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
'''
@author: funcups
'''
import math
from util import kernel, axis_x, axis_name
from json_util import json_paths_list
from jsonsearch import JsonSearch
import numpy as np
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.gridspec as gridspec
import matplotlib.ticker as mticker
if __name__ == '__main__':
    latency_list = []
    Resource = {"DSP": [], "FF": [], "LUT": []}
    for json_path in json_paths_list:
        path = json_path
        fr = open(path, "r")
        json_data = fr.read()
        json_data = JsonSearch(object=json_data, mode='s')
        kernel_data = json_data.search_all_value(key=kernel)
        Latency = kernel_data[1]["Latency"]["LatencyBest"]
        DSP = kernel_data[1]["Area"]["DSP"]
        FF = kernel_data[1]["Area"]["FF"]
        LUT = kernel_data[1]["Area"]["LUT"]
        latency_list.append(Latency)
        Resource["DSP"].append(DSP)
        Resource["FF"].append(FF)
        Resource["LUT"].append(LUT)
    print(Resource)
    fig = plt.figure(tight_layout=True)
    gs = gridspec.GridSpec(2, 3)
    ax = fig.add_subplot(gs[0, :])
    latency_list = [int(m) for m in latency_list]
    yma = int(max(latency_list))
    ymi = int(min(latency_list))
    gap = int((yma - ymi) / 5)
    y_major_locator = mticker.MultipleLocator(gap)
    ax.yaxis.set_major_locator(y_major_locator)
    print("type(axis_x)", type(axis_x[0]))
    ax.set_ylabel("Latency")
    ax.set_xlabel(axis_name)
    ax.plot(axis_x, latency_list)
    for i, k, v in zip(list(range(len(Resource))), Resource.keys(), Resource.values()):
        ax = fig.add_subplot(gs[1, i])
        v = [int(m) for m in v]
        print(type(v[0]))
        ax.set_ylabel(k)
        ax.set_xlabel(axis_name)
        yma = int(max(v))
        ymi = int(min(v))
        gap = int((yma - ymi) / 5)
        y_major_locator = mticker.MultipleLocator(gap)
        ax.yaxis.set_major_locator(y_major_locator)
        ax.plot(axis_x, v)
    fig.align_labels()  # same as fig.align_xlabels(); fig.align_ylabels()
    plt.show()

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python秒算24點(diǎn)實(shí)現(xiàn)及原理詳解

    Python秒算24點(diǎn)實(shí)現(xiàn)及原理詳解

    這篇文章主要介紹了Python秒算24點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python3.5 email實(shí)現(xiàn)發(fā)送郵件功能

    python3.5 email實(shí)現(xiàn)發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了python3.5 email實(shí)現(xiàn)發(fā)送郵件功能,包含txt、圖片、HTML、附件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python lxml模塊安裝教程

    Python lxml模塊安裝教程

    這篇文章主要介紹了Python lxml模塊安裝教程,本文分別講解了Windows系統(tǒng)和Linux系統(tǒng)下的安裝教程,需要的朋友可以參考下
    2015-06-06
  • Python封裝adb命令的操作詳解

    Python封裝adb命令的操作詳解

    在日常的 Android 項(xiàng)目開發(fā)中,我們通常會(huì)使用 adb 命令來獲取連接設(shè)備的內(nèi)存、屏幕、CPU等信息,這些信息的獲取,每次都在command 中輸入相關(guān)命令進(jìn)行重復(fù)的操作讓人感到厭倦和疲乏,現(xiàn)在,可以嘗試使用 python 來簡(jiǎn)化這一部分工作,所以本文介紹了Python封裝adb命令的操作
    2024-01-01
  • python和c語(yǔ)言的主要區(qū)別總結(jié)

    python和c語(yǔ)言的主要區(qū)別總結(jié)

    在本篇文章里小編給各位整理了關(guān)于python和c語(yǔ)言的主要區(qū)別的相關(guān)知識(shí)帖內(nèi)容,有需要的朋友們學(xué)習(xí)閱讀下。
    2019-07-07
  • python2利用wxpython生成投影界面工具的圖文詳解

    python2利用wxpython生成投影界面工具的圖文詳解

    這篇文章主要介紹了python2利用wxpython生成投影界面工具的圖文詳解,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 如何用Python將圖片轉(zhuǎn)為字符畫

    如何用Python將圖片轉(zhuǎn)為字符畫

    本文主要介紹了用Python將圖片轉(zhuǎn)為黑白字符畫的方法,使用ascii字符把圖片轉(zhuǎn)為黑白字符畫,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • python操作excel的方法

    python操作excel的方法

    Openpyxl是一個(gè)常用的python庫(kù),用于對(duì)Excel的常用格式及其模板進(jìn)行數(shù)據(jù)讀寫等操作。這篇文章主要介紹了python操作excel的方法,需要的朋友可以參考下
    2018-08-08
  • Python隨機(jī)生成身份證號(hào)碼及校驗(yàn)功能

    Python隨機(jī)生成身份證號(hào)碼及校驗(yàn)功能

    這篇文章主要介紹了Python隨機(jī)生成身份證號(hào)碼及校驗(yàn)功能,文中給大家提到了校驗(yàn)碼計(jì)算方法,需要的朋友可以參考下
    2018-12-12
  • Python 如何測(cè)試文件是否存在

    Python 如何測(cè)試文件是否存在

    這篇文章主要介紹了Python 如何測(cè)試文件是否存在,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評(píng)論