在 y 轴上添加更多元素

在 y 轴上添加更多元素

.csv我正在尝试从带有 的文件中绘制图表tikzpicture

我可以绘制图形,但无法按照我想要的方式修改 y 轴。

我的代码如下:

\begin{figure}[!h]
\centering
\pgfplotsset{every axis legend/.append style={font={\scriptsize}}}
% \pgfplotsset{every axis legend/.append style={at={(0.5,1.03)},anchor=south}}
\pgfplotsset{every axis legend/.append style={
font={\scriptsize}}}
\begin{tikzpicture}
\begin{axis}[
  enlarge x limits=-1,
  height=5.5cm,
  width=13cm,
  axis y line=left,
  axis line style=-,
  y axis line style=-,
  ymax=250,
  %ytick scale label code/.code={}, 
  %ytick={0, 50.0000000000, 100.0000000000, 150.0000000000, 200.0000000000, 250.0000000000}
  %yticklabels={0, 50, 100, 150, 200, 250}
  xtick={1, 62, 118, 180, 240, 302, 362, 424, 486, 546, 608, 668},
  xticklabels={Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec},
  tick label style={font=\scriptsize},  
  label style={font=\scriptsize},
  title style={font=\scriptsize},
  xlabel={Time [months]},
  ylabel={Power [kWh]},
  ]
\addplot[color=red, mark=] table[col sep=semicolon,trim cells=true, y=heat_demand]{data/heatdemand_collective_basecase.csv};
\end{axis}
\end{tikzpicture}
\caption{Week 1 validation of the 1R1C thermal model.}
\label{fig:heat_demand_collective_BC}
\end{figure}

得到的图表如下:

在此处输入图片描述 我的问题是我想在 y 轴上显示更多点。我希望至少有(0, 50, 100, 150, 200)。如果我尝试使用该ytick选项,我会收到 ,这matherror可能是由于我的文件中浮点数不恒定.csv。该.csv文件如下:

time;heat_demand
1;0
2;107.116590774257
3;189.203847668996
4;101.345454448825
5;155.301114506698
6;82.6220537159477
7;136.442779197686
8;104.602692607432
9;124.813580122739
10;77.9052623520775
11;107.827159186834
12;121.778893996736
13;150.517220383094
14;124.460814733554
15;147.872241326976
16;93.7637349854786
17;159.362876404069
18;98.5004497325821
19;120.408489697097
20;82.0320468791131
21;131.593293005441
22;76.6918935138633
23;119.982854306964
24;68.2669066044269
25;92.2541871983356
26;104.391614786764
27;89.2438948769496
28;107.278299346443
29;105.572459509355
30;80.3947360444004
31;134.755970101307
32;99.6884702346981
33;131.85250238487
34;87.6865604207612
35;178.149817413271
36;104.03168479823
37;163.362211473703
38;97.484710616716
39;173.937046187559
40;124.244767177732
41;153.77875087058
42;131.758934203588
43;161.589781964034
44;89.3878949195286
45;132.448139963733
46;110.961101740902
47;157.035849016599
48;103.745230410922
49;143.110037771667
50;99.7839420183718
51;155.275746752959
52;90.9780508772124
53;137.247600517007
54;130.487777866524
55;135.05202473664
56;129.046778570405
57;111.726149738103
58;86.4408246623461
59;98.8987800968508
60;74.4930488642749
61;118.048615703164
62;74.6951597799913
63;121.477093491437
64;88.8575176890692
65;127.2234724962
66;95.9358321590358
67;99.2323691066948
68;86.3953672896195
69;50.1477454509805
70;90.2853320284862
71;63.9619153789414
72;67.9038258418279
73;84.7282617824411
74;84.5223639902412
75;102.965236374412
76;77.231102133379
77;110.087206812918
78;102.278239478723
79;143.671712036152
80;106.611273636982
81;145.353360177747
82;130.631140959555
83;160.578881782845
84;131.631216367061
85;167.45135627659
86;104.984059562541
87;146.749503693095
88;95.032802232704
89;120.789032336012
90;86.7409295870736
91;111.480631846928
92;87.4275940738003
93;104.546456973668
94;94.9769263267981
95;48.2403363922524
96;92.7944340393495
97;78.5747472140902
98;103.006407651457
99;75.622342365436
100;80.0117443462873
101;80.928894532194
102;81.0280479707546
103;100.440642693211
104;69.4763054475499
105;73.3256632833419
106;61.5016975675576
107;44.7399072769168
108;61.1259377796269
109;80.2197487261313
110;96.8437027876708
111;64.9962428663331
112;80.2923543593305
113;58.011869479975
114;94.8316429096521
115;100.46157076424
116;78.593658180545
117;68.6168784582496
118;50.80107822396
119;61.3076763851185
120;78.7596450536094
121;114.583365062914
122;74.7231360717979
123;61.5556980888995
124;110.427912781201
125;77.0634597622965
126;99.6922501015706
127;62.9524414251306
128;67.767042390081
129;53.497751038708
130;71.9376767348065
131;42.10698870357
132;65.8232387559073
133;80.3800402131967
134;84.782527367261
135;89.9908702443873
136;85.7276123431377
137;90.6651706195661
138;107.770853106932
139;55.3801356046607
140;81.1975570199534
141;24.6832245509565
142;77.8029428792857
143;48.4919908370402
144;73.5415247877323
145;20.3722195637982
146;73.2329814249604
147;36.3646143005905
148;69.7281454787128
149;40.0089770310071
150;44.0796830063705
151;34.5294246265187
152;79.4022793893363
153;-7.320094502423
154;58.9285678070688
155;24.1151122385321
156;66.9858047603791
157;67.3146262529842
158;63.9926772010629
159;58.9408669094698
160;47.6607380150883
161;42.5701580372552
162;70.3639696005527
163;34.940322736273
164;70.7796186394607
165;28.728176391485
166;67.5932439517236
167;10.5627636196002
168;67.0006593839948
169;3.85416999758686
170;63.9607932197704
171;25.1719768169134
172;74.328186633104
173;32.5888756272606
174;60.5094308693118
175;-10.790585498463
176;56.1121212462125
177;-25.992505856079
178;36.611177857632
179;22.0863266436346
180;40.0371947899317
181;-21.7755903099152
182;-6.2840812012026
183;-30.3106754413729
184;18.5926134944747
185;12.0328109700998
186;47.9994133825958
187;-16.2668668201187
188;49.9222756538438
189;17.5039338257015
190;54.7458904867986
191;7.28977175078699
192;35.3409006625184
193;32.3375064026586
194;71.7052846221374
195;49.7165371626831
196;42.5872429906533
197;-1.0701535917202
198;46.8003347820082
199;56.0176043589244
200;70.3144642101811
201;-15.3252542109845
202;5.45098580218396
203;4.17083053512463
204;65.0484606066798
205;17.3362334306363
206;62.2523378644584
207;62.5697927629603
208;52.6649757409826
209;5.38160714372074
210;91.5615943870417
211;50.2347694471841
212;49.8795351128191
213;26.6050844372827
214;53.4740747948911
215;36.5812054256365
216;65.3961593636707
217;50.01234497278
218;77.7807702496758
219;47.9127123702612
220;75.115384703781
221;56.5499893390739
222;85.98250289678
223;27.7762707507518
224;50.9030029734029
225;11.340072391576
226;52.7287160067762
227;30.6877290406675
228;72.0296816710483
229;51.8245300740686
230;58.0384842494687
231;44.183115401431
232;62.7156462715283
233;40.1430605482669
234;67.4412822940214
235;25.5439454365115
236;81.4278708553916
237;47.3736470606762
238;69.5970083582482
239;3.90621049159904
240;68.7508104796087
241;20.4119506878043
242;70.8509431770152
243;-17.1566694009875
244;14.8725578368859
245;30.5455395339575
246;58.7433624646602
247;41.6844136674796
248;43.3486965178044
249;11.6676801670018
250;58.3426136751789
251;28.5755883380431
252;80.2143645610058
253;42.8933980335844
254;56.0541688158917
255;-14.2666082127135
256;32.4352195428306
257;-17.116895290469
258;53.0621426303708
259;13.7921264941169
260;59.8015090575433
261;31.8648718680063
262;66.7160007449566
263;3.4044194642007
264;50.7585064106425
265;-32.1354166666666
266;-1.34528720930251
267;-22.7709846263863
268;-0.33902578305804
269;-26.69170277214
270;15.031212573031
271;-31.0801608385382
272;9.95193509715163
273;-29.1366053553131
274;-21.53125
275;-33.1145833333333
276;-19.90625
277;-36.6770833333333
278;-36.09375
279;-36.3645833333333
280;-30.1458333333333
281;-28.0430817125066
282;-2.63951123473603
283;-22.8396910220868
284;18.3890291442241
285;-29.5625
286;-11.2126893241704
287;-32.96875
288;-30.6041666666666
289;-34.9479166666666
290;-7.44608976029727
291;-33.15625
292;-21.0215200551602
293;-33.71875
294;-20.7890132787772
295;-35.7604166666666
296;-26.1211649913925
297;-37.1979166666666
298;-37.5
299;-37.5
300;-37.5
301;-37.5
302;-37.5
303;-37.5
304;-37.5
305;-37.5
306;-32.498585322303
307;-37.46875
308;-32.7395833333333
309;-37.5
310;-35.71875
311;-37.5
312;-35.9479166666666
313;-36.2708333333333
314;-23.9903627661243
315;-33.7395833333333
316;-23.1745873416659
317;-31.6944817978494
318;-5.86209167075681
319;-16.3352910163009
320;-1.32298934908372
321;-34.8020833333333
322;-23.3003965405931
323;-32.2395833333333
324;-9.88516578686498
325;-32.8541666666666
326;-28.5767840182152
327;-35.3020833333333
328;-25.21875
329;-31.3958333333333
330;-15.7847577798799
331;-32.5520833333333
332;-8.25602849242628
333;-25.78125
334;-26.8255879926429
335;-34.8541666666666
336;-31.5729166666666
337;-34.5903027385434
338;-18.1387550546108
339;-22.7291666666666
340;-22.9971049790375
341;-36.1875
342;-31.625
343;-37.5
344;-37.5
345;-37.5
346;-37.5
347;-37.5
348;-37.5
349;-37.5
350;-37.5
351;-37.5
352;-37.5
353;-37.5
354;-37.5
355;-34.2592650656789
356;-23.0985483072088
357;-33.3125
358;-17.239989145789
359;-35.3333333333333
360;-17.5847211628646
361;-22.463687615691
362;-4.86184674543139
363;-26.7671506840654
364;-20.9218260049893
365;-30.7743907779962
366;2.66960192228267
367;-24.3879045181885
368;-20.758240670131
369;-35.0833333333333
370;-16.5852440482666
371;-26.8645833333333
372;-18.9803185506298
373;-34.75
374;-19.9452743199655
375;-28.2916666666666
376;-24.7755670257042
377;-36.4895833333333
378;-29.5416666666666
379;-37.5
380;-31.6875
381;-36.09375
382;-30.4189655691911
383;-36.1458333333333
384;-30
385;-34.25
386;-31.7366040197975
387;-36.1565890819114
388;-18.3130080641199
389;-26.5600491747622
390;-5.22627498904764
391;-33.1875
392;-8.40253462730025
393;-23.9354295705999
394;-4.98651552215407
395;-32.2395833333333
396;-23.14991659609
397;-26.9564884920119
398;-10.8302571393331
399;-32.8854166666666
400;-20.4908091109893
401;-34.5833333333333
402;-26.2083333333333
403;-36.875
404;-34.96875
405;-37.5
406;-33.9895833333333
407;-37.5
408;-33.8020833333333
409;-37.5
410;-37.5
411;-36.1458333333333
412;-30.0121084248145
413;-30.7618494136234
414;-10.5010274985326
415;-22.7105717845534
416;-14.0364086297494
417;-32.5520833333333
418;-26.5480758194777
419;-31.8229166666666
420;-27.71875
421;-35.2083333333333
422;-23.1626176675986
423;-24.8084729372204
424;-23.0860323755136
425;-35.2916666666666
426;-19.1478588718368
427;-34.0729166666666
428;-26.972924874359
429;-34.0625
430;-14.7965635920858
431;-31.6041666666666
432;-23.1097811046614
433;-34.2708333333333
434;-24.78125
435;-35.1365277179289
436;-17.4974737841256
437;-31.15625
438;-7.45519295515123
439;-35.09375
440;-8.05252512611988
441;-32.96875
442;-20.2813094050763
443;-25.4916916367837
444;-8.49417298320724
445;-33.0625
446;-2.73893022483021
447;-31.6354166666666
448;-19.261836544845
449;-30.1411102524864
450;2.96422768558848
451;-32.025167783617
452;-8.75504648848233
453;-33.0100113325429
454;-6.76947939914557
455;-32.7083333333333
456;-25.3752649344293
457;-34.8645833333333
458;-15.4722861300213
459;-25.9166666666666
460;-21.5660860436892
461;-27.7568961264135
462;-14.2821474736155
463;-27.1568716419598
464;-3.08567664166606
465;-25.308154424331
466;-2.14727036726272
467;-26.3339418394219
468;8.59244436835983
469;-16.1868567185608
470;-7.56697551602976
471;-30.5606966074306
472;-4.812135611301
473;-25.8235012249499
474;-28.7031897572044
475;-35.2916666666666
476;-18.2168856467499
477;-35.2916666666666
478;-18.8777167785351
479;-33.0208333333333
480;-24.9932208402356
481;-34.8125
482;-12.17020505437
483;-32.9270833333333
484;-22.1061194092983
485;-37.0729166666666
486;-30.8859696927806
487;-34.9895833333333
488;-28.3252189446312
489;-33.3522448608143
490;1.60726699216107
491;-29.5349499663167
492;-10.3631743527669
493;-32.4479166666666
494;8.15973552423572
495;-32.8280082884543
496;2.50248851044804
497;-32.4791666666666
498;-14.6314813395794
499;-25.75
500;-16.0453802668336
501;-9.00604852083011
502;-6.92648333416945
503;-27.8569758862723
504;22.5401807996473
505;1.24760311220595
506;7.84077735583265
507;-9.51577860557522
508;31.0471288442715
509;-27.5808337899932
510;7.34633165926156
511;-25.5325951696585
512;19.1634475859442
513;-22.1764595188155
514;17.395594482689
515;-23.848059261594
516;29.4049669385663
517;11.3399172874785
518;27.6477197782443
519;-6.37910240266588
520;38.5001004406531
521;14.4144386354107
522;49.423304931056
523;8.51528333705018
524;27.2933502327245
525;24.1050559068162
526;59.0924261064816
527;0.537718798866006
528;28.2257026170124
529;15.3840780325782
530;24.2240523114028
531;-16.3307248727812
532;26.0334810046007
533;-13.4119155100424
534;36.7776541438651
535;-12.0459822103022
536;45.3503074132052
537;-20.8770549856579
538;38.5436854426084
539;-12.1996118210919
540;43.9405208172803
541;13.5620775671452
542;41.1007515113656
543;-9.79793666357736
544;33.4557755392567
545;6.03412304269454
546;14.1203361357898
547;-28.5162246803465
548;8.79758245634318
549;43.7242487072074
550;45.6629429649802
551;-15.4174642264685
552;17.0223970602878
553;-1.7498604220462
554;25.8294311168377
555;-15.7554190744623
556;34.7429616080305
557;15.7819935179054
558;47.5114396236268
559;-3.58319934478751
560;56.2300671850073
561;5.68302106983934
562;62.6829419389639
563;32.5641165666173
564;57.4565286115446
565;13.0231835554763
566;64.149075459915
567;31.5895891207223
568;40.6246633601699
569;25.076686286327
570;35.9721495570249
571;11.6205260562144
572;23.3913591061839
573;16.5484494052606
574;47.7917117433938
575;-17.8425999129832
576;4.40006549596092
577;-13.2862517517567
578;6.69798931741594
579;-27.83892800047
580;1.77843393848239
581;-30.1734576049002
582;-9.87815731264916
583;-0.154258647621843
584;40.3843405009797
585;3.04930744920258
586;26.3552809919139
587;-25.8374901143985
588;7.5080128840093
589;12.3306373193695
590;42.7828664759188
591;8.86405904382549
592;52.9212916637471
593;34.2897528542714
594;40.5683298840082
595;55.8554664112139
596;37.6685088341242
597;14.4101085668327
598;24.8983107795176
599;34.748620809357
600;58.1935430697206
601;16.0461807314259
602;48.5926233131505
603;16.2304198066772
604;60.0743089258691
605;51.1439441524152
606;54.1373227117467
607;14.4301021998122
608;57.2812554653936
609;50.7646476734787
610;74.4856573935646
611;65.2030044928799
612;50.3219054014637
613;32.3672566655834
614;70.0639227654453
615;61.2781405988667
616;83.8370053709075
617;44.5443194588411
618;66.6586574562216
619;42.1925262354633
620;64.9726803379033
621;60.988604205387
622;71.4598828899902
623;87.0824977626481
624;97.5667189073415
625;109.873042780552
626;70.6090205844703
627;91.1832589326409
628;89.7970565744046
629;62.3034618519431
630;74.3566855044324
631;59.1233402001252
632;90.4799794181925
633;103.318384747279
634;87.3922782000838
635;102.636832152407
636;64.6253363436846
637;83.4050451752731
638;79.8760195541405
639;86.637340298269
640;73.8595257399403
641;71.8435871467765
642;71.82578485771
643;59.6947266585184
644;88.0391581628889
645;69.8659371486533
646;91.5081129894615
647;97.2922387548307
648;84.6805154002736
649;77.8279897056388
650;61.6861765799415
651;101.556000514027
652;62.8677948306986
653;67.1006224951338
654;58.5162364450538
655;50.338725470321
656;61.8386249991658
657;51.433902850391
658;98.6129657247479
659;80.5461780587218
660;85.2884317114416
661;114.074072362641
662;94.384124981684
663;130.19538681724
664;77.1463918103643
665;106.726828587582
666;87.5859282053814
667;105.20909891924
668;96.1939047560132
669;133.228852464035
670;126.356545073778
671;124.114383017102
672;126.000370705879
673;132.31308896216
674;105.262429509077
675;150.714958719611
676;101.81312107004
677;123.131597523774
678;67.2112350930432
679;102.436427897287
680;89.2524655418992
681;91.4285953806866
682;68.0653524672475
683;80.9328724461671
684;102.974993711943
685;91.3074693347975
686;109.130808094514
687;124.642596540229
688;97.0089235674338
689;123.115212342487
690;101.593323568558
691;144.89748808427
692;87.6440992333931
693;162.748490388882
694;88.8039192234868
695;141.372624416259
696;84.7122518877996
697;137.633727848786
698;113.289999358179
699;109.372881478225
700;117.606730989554
701;110.308469200685
702;94.2170484017642
703;121.157825639176
704;104.415527432561
705;128.705995999825
706;86.9621133136105
707;137.612913211168
708;84.709623611079
709;110.916165779827
710;68.3514417992191
711;86.3428469549592
712;94.4107641040403
713;78.4879829495847
714;95.6649326130074
715;92.3636795861291
716;72.0549425634044
717;90.0847145245445
718;66.0079241784299
719;76.4236930400498
720;62.3957476102676
721;92.6247657526608
722;85.269117356043
723;100.23070692079
724;87.7228876232987
725;113.526352016293
726;106.468516849849
727;103.286383291722
728;114.297913231905
729;122.759232372395
730;81.6679774864862
731;84.5931023336154

有人能帮我得到带有正确 y 轴的图表吗?提前谢谢您。

答案1

添加ytick选项pgfplot应该可以解决问题,这样您就可以获得yticks所需的任意数量的选项。

以下举例说明:

\documentclass[11pt,a4paper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{xcolor}
\usepackage{pgfplots}
\begin{document}
    \begin{figure}[!h]
        \centering
        \pgfplotsset{every axis legend/.append style={font={\scriptsize}}}
        % \pgfplotsset{every axis legend/.append style={at={(0.5,1.03)},anchor=south}}
        \pgfplotsset{every axis legend/.append style={
                font={\scriptsize}}}
        \begin{tikzpicture}
        \begin{axis}[
        enlarge x limits=-1,
        height=5.5cm,
        width=13cm,
        axis y line=left,
        axis line style=-,
        y axis line style=-,
        ymax=250,
        %ytick scale label code/.code={}, 
        %ytick={0, 50.0000000000, 100.0000000000, 150.0000000000, 200.0000000000, 250.0000000000}
        %yticklabels={0, 50, 100, 150, 200, 250}
        xtick={1, 62, 118, 180, 240, 302, 362, 424, 486, 546, 608, 668},
        xticklabels={Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec},
        ytick = {0, 25, 50, 75, 100, 125, 150, 175, 200, 225, 250},
        tick label style={font=\scriptsize},  
        label style={font=\scriptsize},
        title style={font=\scriptsize},
        xlabel={Time [months]},
        ylabel={Power [kWh]},
        ]
        \addplot[color=red, mark=] table[col sep=semicolon,trim cells=true, y=heat_demand]{data1.csv};
        \end{axis}
        \end{tikzpicture}
        \caption{Week 1 validation of the 1R1C thermal model.}
        \label{fig:heat_demand_collective_BC}
    \end{figure}
\end{document}

这使

在此处输入图片描述

答案2

实现您想要的最简单的方法是使用ytick distance适当的值。

axis(请注意,我已经大大简化了您的代码,例如将表格减少到只有 2 个数据点。我还删除/简化了选项中与问题无关的很多内容。)

% used PGFPlots v1.16
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
    \pgfplotsset{
        compat=1.3,
    }
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        enlarge x limits=-1,
        height=5.5cm,
        width=13cm,
        ymin=0,
        ymax=250,
        xtick={1, 62, 118, 180, 240, 302, 362, 424, 486, 546, 608, 668},
        xticklabels={Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec},
        ytick distance=50,      % <-- added
        xlabel={Time in month},
        ylabel={Power in kWh},
        no markers,
    ]
        \addplot [color=red] table [col sep=semicolon] {
            time;heat_demand
            1;0
            731;84.5931023336154
        };
    \end{axis}
\end{tikzpicture}
\end{document}

该图显示了上述代码的结果

相关内容