1. 程式人生 > >matplotlib畫X軸時間的顯示問題

matplotlib畫X軸時間的顯示問題

很久沒有在CSDN寫部落格了,非常地慚愧,在工作、學習上所遇到的難以越積越多,如果沒有對問題進行有效的管理,不僅會使人心煩意亂不知所措,而且下次遇到同樣的問題,又得四處找答案,浪費時間。廢話又開始了。。。。。

今天遇到的問題為,在jupyter notebook上用matplotlib畫一組與時間有關的資料,結果X軸的時間顯示出現了點問題,主要程式碼片如下:

#畫時間曲線的函式
def plot_curve1(data,title):
    plt.figure(figsize=(15,5))
    plt.title(title)
    plt.plot(data,'o-')
    plt.show()

data1,data2=read_data()  #讀取資料
print(data1.head(10)) #列印前10行資料 plot_curve1(data1,'data1') #畫data1資料

結果如下:
這裡寫圖片描述
從圖中可以看出,x軸顯示了5個時間點,但我想要顯示每一天,即2014-09-01到2014-09-30。於是我百度了一下matplotlib的官方文件,瞭解到了xticks的用法,於是又修改了程式碼。
程式碼如下:

def plot_curve1(data,title):
    fig1 = plt.figure(figsize=(15,5))
    plt.xticks(pd.date_range('2014-09-01','2014-09-30'
),rotation=90)#設定時間標籤顯示格式 plt.title(title) plt.plot(data,'o-') plt.show() data1,data2=read_data() #讀取資料 print(data1.head(10)) plot_curve1(data1,'data1')

結果如下:
這裡寫圖片描述
從圖中可以知道,雖然X軸顯示了30天,但是顯示有問題,不能顯示月份和日期,所以又去百度了一下,發現一個非常有借鑑意義的部落格,連結在此:Matplotlib繪圖雙縱座標軸設定及控制設定時間格式 - 推酷,通過該部落格,我又修改了程式碼,程式碼如下:

import
matplotlib.dates as mdate def plot_curve1(data,title): fig1 = plt.figure(figsize=(15,5)) ax1 = fig1.add_subplot(1,1,1) ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))#設定時間標籤顯示格式 plt.xticks(pd.date_range('2014-09-01','2014-09-30'),rotation=90) plt.title(title) plt.plot(data,'o-') plt.show() data1,data2=read_data() #讀取資料 print(data1.head(10)) plot_curve1(data1,'data1')

結果如下:
這裡寫圖片描述
從圖中可以看到,X軸的時間顯示正常了。
最後,要注意一下程式碼的這一行,這一行是用來設定X軸的時間顯示格式。

ax1.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d'))#設定時間標籤顯示格式

相關推薦

matplotlibX時間顯示問題

很久沒有在CSDN寫部落格了,非常地慚愧,在工作、學習上所遇到的難以越積越多,如果沒有對問題進行有效的管理,不僅會使人心煩意亂不知所措,而且下次遇到同樣的問題,又得四處找答案,浪費時間。廢話又開始了。。。。。 今天遇到的問題為,在jupyter noteboo

matplotlib x時間顯示

matplotlib提供基本的介面: from matplotlib.dates import AutoDateLocator, DateFormatter autodates = AutoDateLocator() yearsFmt = DateFormatter('%

matplotlib繪製x時間的圖

圖形視覺化中時間軸應該是比較常見的了,不管在R語言中還是Python中,都可以直接plot(x,y)直接繪製出來,但很大概率座標軸文字重疊,因為將時間直接當做字串處理,若還想自定義時間格式,必須先將資料轉換為時間型別,再用相應的方法設定。其實每個部分都有相應的部落格了,但目前

(四)WPF使用 Polyline 元素動態繪製折線 (新增X時間標籤)

前端程式碼MainWindow.xaml.cs程式碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; us

解決echarts柱形圖X標題顯示不全的問題

如果柱形圖x軸的資訊太長會出現顯示不全或者資訊重疊在一起通過增加以下程式碼:grid: {     y2: 150 //增加柱形圖縱向的高度 }, xAxis : [ {     type : 'category',     data : label,     axis

echarts x文字顯示不全(xAxis文字傾斜比較全面的3種做法值得推薦)

echarts x軸標籤文字過多導致顯示不全 如圖: 解決辦法1:xAxis.axisLabel 屬性 axisLabel的型別是object ,主要作用是:座標軸刻度標籤的相關設定。(當然yAxis也是一樣有這個屬性的)

python matplotlib dataframe的時間序列圖

在python中經常會用到pandas來處理資料,最常用的資料型別是dataframe,但是有時候在dataframe有時間欄位需要畫時間序列圖的時候會遇到一些問題,下面是我處理這個問題的一個小案例,

【前端圖表】echarts實現散點圖x時間

// 基於準備好的dom,初始化echarts例項 var myChart = echarts.init(document.getElementById('main')); //第二步構造資料 var data1 = [];//資料區域縮放元件 var data2

怎麽用matplotlib做出折線圖 並且完美顯示X標簽? 很簡單

matplotlib 其實做折線圖用到2個參數x和y(i), 第一步 : 先寫出x = range(8),就是說先定下X軸, 第二部 : 指定y1 = A列數據 第三部 : 指定y2 = B列數據 第四部 : 指定y3 = C列數據 ....... 然後plt.plot(x,y1) 這樣y1的數據

TeeChart的X時間,多個Y顯示(C#)

  最後上程式碼 按 Ctrl+C 複製程式碼 按 Ctrl+C 複製程式碼  ps:data是一個數據集,包含若干個資料表 每一個數據表對應一條曲線的資料,第一列為時間,第二列為資料。 這裡的時間,直接

ZedGraph圖表控制元件 X顯示時間 C#

  private void CreateGraph(ZedGraphControl zgc)         {             //zgc.Controls.Clear();             GraphPane myPane = zgc.GraphPane;           

par函數的xaxt函數-控制x刻度的顯示

表示 控制 默認值 效果 示例 cnblogs alt 以及 pre xaxt 參數控制x軸的刻度以及刻度對應的標簽時候顯示 默認值為‘s’, 表示顯示,代碼示例 par(xaxt = ‘s‘) plot(1:5, 1:5, main = "title", xlab =

echarts x文字換行顯示

mat rownumber false 管控 ffffff style slab 社交 知識                   xAxis : [ {

python matplotlib在mac os x 中如何顯示中文,完美解決

新的 com sub ttf 一行 lan HR tar spa 一、 下載相關的中文字體 simhei 文件: 下載地址 二、通過以下代碼查找matplotlib的數據存放位置: import matplotlib print(matplotlib.matplotlib

ECharts x顯示正負極

一、問題 要求顯示的柱狀圖有正負值,如圖效果: 二、經過 找官網上關於正負極的例子,再通過查詢配置選項,美化為客戶需要的樣式。 三、結果 // FDIOption let FDIOption = { color: ['#004a79

開發時間動態顯示圖譜展示功能技術收穫

下面我來總結一下本次開發過程中的收穫,(1)在前端向後端請求資料一般用的都是ajax進行請求,其中有關ajax的知識點我在這裡簡單的談談我現階段比較粗淺的認識,首先ajax預設的是非同步請求,如果想進行同步請求的話要把async設定成false,同步和非同步請求的區別的地方是:用ajax進行同步請求

matplotlib畫圖時候x的標籤過於密集的解決方法

我平時畫圖的時候會用到matplotlib, 感覺matplotlib很不好用。可能是畫的太少了,也沒有整理的原因。今天工作的時候,遇到了一個問題,查了很多資料,沒找到我想要的,最後總算是解決了。這裡整理一下。 此方法對於柱狀圖和直方圖均奏效。因為我只測試了這兩種畫法。 我使用的資料

解決matplotlib.pyplot中X刻度小及新增網格線的問題

解決matplotlib.pyplot中X軸刻度小及新增網格線的問題 設定 x 軸的刻度大小,x取值範圍為[1,50),步長為2 plt.xticks(np.arange(1,50,2)) 設定 X 軸的網格線,風格為 點畫線 plt.grid(axis=‘

解決ECharts 因X類目過多導致重疊顯示不全的問題

https://blog.csdn.net/zheng_xiao_xin/article/details/80882113         dataZoom : [//橫向滾動條         

python matplotlib在mac os x 中如何顯示中文

一、 下載相關的中文字型 simhei 檔案: 下載地址 二、通過以下程式碼查詢matplotlib的資料存放位置: import matplotlib print(matplotlib.matplotlib_fname()) 我的目錄為: /Library/Fra