Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. documentclass{standalone}
  2. usepackage{pgfplots}
  3. pgfplotsset{compat=1.14}
  4. usepgfplotslibrary{dateplot}
  5.  
  6. newcommand{dateticks}{
  7. foreach i in {1,...,11}
  8. {ifnumi<10
  9. 2016-0i-01,%
  10. else
  11. 2016-i-01,%
  12. fi
  13. 2016-12-01
  14. }
  15. }
  16.  
  17. begin{document}
  18. begin{tikzpicture}
  19. begin{axis}[
  20. date coordinates in=x,
  21. %xtick={dateticks}, % <- This doesn't work
  22. xtick={2016-01-01,2016-02-01,2016-03-01,2016-04-01,2016-05-01,2016-06-01,%
  23. 2016-07-01,2016-08-01,2016-09-01,2016-10-01,2016-11-01,2016-12-01},
  24. xticklabel=day/month,
  25. xticklabel style={rotate=90},
  26. ]
  27. addplot coordinates {(2016-01-23,10) (2016-03-05,20) (2016-09-14,10)};
  28. end{axis}
  29. end{tikzpicture}
  30. end{document}
  31.  
  32. newcommandmygraph[1]{... xtick={#1} ...}
  33.  
  34. expandaftermygraphexpandafter{dateticks}
  35.  
  36. newcommanddateticks{2016-01-01}
  37. foreach i in {2,...,12}{xdefdateticks{dateticks,2016-ifnumi<10 0fii-01}}
  38.  
  39. documentclass{article}
  40. usepackage{pgfplots}
  41. pgfplotsset{compat=1.14}
  42. usepgfplotslibrary{dateplot}
  43. newcommanddateticks{2016-01-01}
  44. foreach i in {2,...,12}{xdefdateticks{dateticks,2016-ifnumi<10 0fii-01}}
  45. newcommandmygraph[1]%
  46. {begin{tikzpicture}
  47. begin{axis}%
  48. [date coordinates in=x,
  49. xtick={#1},
  50. xticklabel=day/month,
  51. xticklabel style={rotate=90},
  52. ]
  53. addplot coordinates {(2016-01-23,10) (2016-03-05,20) (2016-09-14,10)};
  54. end{axis}
  55. end{tikzpicture}%
  56. }
  57. begin{document}
  58. expandaftermygraphexpandafter{dateticks}
  59. end{document}
  60.  
  61. setdateticks{YYYY-MM-DD}{N}
  62.  
  63. newcommanddateticks{}
  64. newcommandsplitdate{}
  65. defsplitdate#1-#2#3-#4-%
  66. {defYYYY{#1}%
  67. ifnum#2=0defMM{#3}elsedefMM{#2#3}fi
  68. defDD{#4}%
  69. }
  70. newcommandsetdateticks[2]%
  71. {defdateticks{#1}%
  72. bgroup
  73. splitdate#1-%
  74. foreach i in {2,...,#2}
  75. {pgfmathtruncatemacromm{mod(MM+i-2,12)+1}%
  76. pgfmathtruncatemacroyyyy{YYYY+divide(MM+i-2,12)}%
  77. xdefdateticks{dateticks,yyyy-ifnummm<10 0fimm-DD}%
  78. }%
  79. egroup
  80. }
  81.  
  82. documentclass{article}
  83. usepackage{pgfplots}
  84. pgfplotsset{compat=1.14}
  85. usepgfplotslibrary{dateplot}
  86. newcommanddateticks{}
  87. defsplitdate#1-#2#3-#4-%
  88. {defYYYY{#1}%
  89. ifnum#2=0defMM{#3}elsedefMM{#2#3}fi
  90. defDD{#4}%
  91. }
  92. newcommandsetdateticks[2]%
  93. {defdateticks{#1}%
  94. bgroup
  95. splitdate#1-%
  96. foreach i in {2,...,#2}
  97. {pgfmathtruncatemacromm{mod(MM+i-2,12)+1}%
  98. pgfmathtruncatemacroyyyy{YYYY+divide(MM+i-2,12)}%
  99. xdefdateticks{dateticks,yyyy-ifnummm<10 0fimm-DD}%
  100. }%
  101. egroup
  102. }
  103. newcommandmygraph[1]%
  104. {begin{tikzpicture}
  105. begin{axis}%
  106. [date coordinates in=x,
  107. xtick={#1},
  108. xticklabel=day/month,
  109. xticklabel style={rotate=90},
  110. ]
  111. addplot coordinates {(2016-01-23,10) (2016-03-05,20) (2016-09-14,10)};
  112. end{axis}
  113. end{tikzpicture}%
  114. }
  115. begin{document}
  116. setdateticks{2016-01-01}{12}
  117. expandaftermygraphexpandafter{dateticks}
  118. end{document}
  119.  
  120. documentclass{standalone}
  121. usepackage{pgfplots}
  122. pgfplotsset{compat=1.14}
  123. usepgfplotslibrary{dateplot}
  124.  
  125. begin{document}
  126. defdateticks{2016-01-01}
  127. foreach i in {2,...,12}
  128. {xdefdateticks{dateticks,2016-ifnumi<10 0fii-01}}
  129.  
  130. begin{tikzpicture}
  131. begin{axis}[
  132. date coordinates in=x,
  133. xtick/.expanded={dateticks},
  134. xticklabel=day/month,
  135. xticklabel style={rotate=90},
  136. ]
  137. addplot coordinates {(2016-01-23,10) (2016-03-05,20) (2016-09-14,10)};
  138. end{axis}
  139. end{tikzpicture}
  140. end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement