diff --git a/include/matplotlibcpp17/axes.h b/include/matplotlibcpp17/axes.h
index d57e7b901068c1896e69e2c74b23f60a574a0db3..05512af866e288990e0ebd1eea17e733e33e6ceb 100644
--- a/include/matplotlibcpp17/axes.h
+++ b/include/matplotlibcpp17/axes.h
@@ -55,6 +55,10 @@ public:
   // axhline
   ObjectWrapper axhline(const pybind11::tuple &args = pybind11::tuple(),
                         const pybind11::dict &kwargs = pybind11::dict());
+                        
+  // axvline
+  ObjectWrapper axvline(const pybind11::tuple &args = pybind11::tuple(),
+                        const pybind11::dict &kwargs = pybind11::dict());
 
   // bar
   container::BarContainer bar(const pybind11::tuple &args = pybind11::tuple(),
@@ -255,6 +259,7 @@ private:
     LOAD_FUNC_ATTR(add_collection, self);
     LOAD_FUNC_ATTR(add_patch, self);
     LOAD_FUNC_ATTR(axhline, self);
+    LOAD_FUNC_ATTR(axvline, self);
     LOAD_FUNC_ATTR(bar, self);
 #if MATPLOTLIB_MINOR_VER_GTE_4
     LOAD_FUNC_ATTR(bar_label, self);
@@ -304,7 +309,8 @@ private:
   pybind11::object add_artist_attr;
   pybind11::object add_collection_attr;
   pybind11::object add_patch_attr;
-  pybind11::object axhline_attr;
+  pybind11::object axhline_attr;  
+  pybind11::object axvline_attr;
   pybind11::object bar_attr;
   pybind11::object bar_label_attr;
   pybind11::object barh_attr;
@@ -381,6 +387,12 @@ ObjectWrapper Axes::axhline(const pybind11::tuple &args,
   pybind11::object ret = axhline_attr(*args, **kwargs);
   return ObjectWrapper(std::move(ret));
 }
+// axvline
+ObjectWrapper Axes::axvline(const pybind11::tuple &args,
+                            const pybind11::dict &kwargs) {
+  pybind11::object ret = axvline_attr(*args, **kwargs);
+  return ObjectWrapper(std::move(ret));
+}
 
 // bar
 container::BarContainer Axes::bar(const pybind11::tuple &args,