github epezent/implot v1.1

3 hours ago

Hi everyone! I'm happy to announce ImPlot v1.1.

🚀 New Features

  • Feat: Add flag to draw axis tick labels inside the plot area by @lstalmir in #668

    • Use ImPlotAxisFlags_TickLabelsInside to draw the tick labels of the innermost axes inside the plot. Multi-line tick labels are also supported.

      ImPlot::SetupAxis(ImAxis_X1, "x", ImPlotAxisFlags_TickLabelsInside);

      image

  • Feat: Add vertical and horizontal markers by @bruno-f-cruz in #702

    • New ImPlotMarker_Vertical and ImPlotMarker_Horizontal, useful for raster plots and event markers.

      image

  • Feat: Add NoMove and NoResize flags to ImPlotDragToolFlags by @PysKa-Ratzinger in #720

    • ImPlotDragToolFlags_NoMove and ImPlotDragToolFlags_NoResize: the tool still reports clicks and hovers, but cannot be moved or resized and shows no move/resize cursor.

      v1.1-3-nomove-noresize.mp4
  • Feat: Add IsLastItemHidden() by @forrestv in #295

    • Also adds IsItemHidden(const char* label_id), which can be called before the item is submitted to skip expensive work for hidden items.
      IMPLOT_API bool IsLastItemHidden();
      IMPLOT_API bool IsItemHidden(const char* label_id);
  • Feat: Display mouse coordinates while dragging or box-selecting by @Nahor in #539

    v1.1-4-box-select-outside.mp4

🐛 Bug Fixes | 🛠️ Build | 📄 Docs

  • Fix: Double application of FillAlpha in shaded plots by @martinecker in #717

    image

  • Fix: DragRect, DragPoint and DragLine should not be clickable outside the plot area by @PysKa-Ratzinger in #719

  • Fix: Infinite loop in Locator_Default for degenerate axis ranges by @brenocq in #725

  • Fix: Demo no longer links an excluded type when IMPLOT_CUSTOM_NUMERIC_TYPES is restricted by @brenocq in #726

  • Fix: Detect NaN regardless of header order and fast-math by @guijan in #565 (and follow-up by @brenocq to detect NaN/infinity from the bits of the double)

  • Fix: Snprintf truncation warning in legend demo by @brenocq in #724

  • Fix: Item color for PlotScatter now uses MarkerLineColor by @brenocq in 1351ab2

  • Fix: Legend color not updated by PlotDummy by @brenocq in 4ce67e3

  • Build: Remove deprecated arithmetic conversions on enums (hard error in C++26 and clang-cl -std=c++latest) by @Gold856 in #710

  • Build: Ignore deprecated-enum-enum-conversion warnings in GCC by @samangh in #706

  • Build: Fix ImDrawList::AddRect() signature change in ImGui 19276 by @ocornut in #703

  • Build: Support ImGui 1.93 (AddLineH()/AddLineV(), _SelectLineTexture(), two-parameter ImGuiTextFilter::Draw()) by @ocornut in #711, #712, #721

  • CI: Build the demo with a restricted IMPLOT_CUSTOM_NUMERIC_TYPES; the example now builds against ImGui v1.93.0

📦 ImPlot3D v0.5 Released

Today we are also releasing ImPlot3D v0.5.

⚠️ Behavior Changes

No functions were removed or renamed in this release, but a few things behave differently:

  • Shaded plots are more opaque. FillAlpha used to be applied twice, so fills looked lighter than requested (#717). It is now applied once; if you compensated by raising FillAlpha, lower it again.
  • Drag tools (DragRect, DragPoint, DragLine) no longer react to clicks outside the plot area (#719).
  • ImPlotMarker_COUNT is now 2 higher because of the new markers; existing marker values are unchanged. ImPlotAxisFlags_TickLabelsInside uses bit 16 of the axis flags.

🎉 New Contributors

Full Changelog: v1.0...v1.1

Don't miss a new implot release

NewReleases is sending notifications on new releases.